3
私はマルチモジュールMavenプロジェクトを持っています。 1つのサブプロジェクトは、XSL/XMLリソースファイルをホストします。他のプロジェクトは、ユニットテストでこれらのファイルを使用する必要のあるJavaコードをホストします。Maven:テスト前に依存リソースを抽出します。
依存関係のjarでは、リソースはフォルダxml-resources
にあります。
私はこのexampleを発見し、私のニーズのためにそれを変更しようとしました:私は、プロセス・テスト・リソース・フェーズを実行すると
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>resource-dependencies</id>
<phase>process-test-resources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<classifier>xml-resources</classifier>
<outputDirectory>${project.build.directory}/classes/xml-resources</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
は、これは何もしません。そこにいくつかのエラーがあることを確信しています - 私はどこからリソースを取得する必要がある依存関係を指定することができませんし、<classifier>
は、リソースをコピーする場所を実際に指定していないようです。
私はここで失われています、誰かがこの権利を行う方法を教えてくれますか?
この場合、outputDirectoryフォルダは../ classes/....の代わりに../test-classes/ ..でなければなりません。 – khmarbaise
@khmarbaiseの有効な異論 - 多分もっと良い '$ {project.build.testOutputDirectory}/xml-resources'([Super POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Super_POM)を参照してください) – FrVaBe
これはありがとうございます。ファイルは 'target/test-classes/xml-resources'にあります。しかし、私は 'getClass()。getResourceAsStream("/xml-resources/file.xml ")'を使ってテストコードにロードできません。私は何か他に何かする必要がありますか? – flyx