1

既存のプロジェクトを Ant プロジェクトから Maven プロジェクトに移行しようとしています。Ant プロジェクトの構造は次のとおりです。

|-root
|---resources
|------foo
|------yaz
|---src
|------SomeFile.java

Maven プロジェクトの構造は次のとおりです。

|-root
|---src
|------main
|---------java
|------------SomeFile.java
|------test
|---------resources
|------------foo
|------------yaz

残念ながら、コードには「resources」フォルダーへの明示的な参照が多数含まれています。いくつかの例:

@ContextConfiguration("classpath:/resources/foo/bar.xml")

ApplicationContext context = 
   new FileSystemXmlApplicationContext("resources/foo/baz.xml");

File file = new File("resources/yaz/blah.gif");

etc...

すべての参照を変更するには多大な労力が必要です (また、他のビジネス ルールにより、コードは「リソース」フォルダーに残す必要があります)。フォルダー構造の変更を解決する簡単な方法がmavenにあるかどうか疑問に思っていました。そうすれば、JUnit テストが実行されるか、アプリケーションが IDE (Netbeans) を介して起動されるときに、リソースが正しく解決されます。

つまり、コードは Ant では正常に機能していましたが、リソースが別のフォルダー構造に移動したため、Maven に移動した後に壊れました。

4

3 に答える 3

1

戦争を構築するときは、直接の代わりにsrc/main/resources入れます。/target/resources/target

このページにはoutputDirectory、リソースの出力フォルダーを指定するパラメーターが表示されます。

次のようになると思います。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <configuration>
    <outputDirectory>${project.build.outputDirectory}/resources</outputDirectory>
  </configuration>
</plugin>
于 2013-06-03T18:50:38.567 に答える