9
通常、生成されたソースはターゲットディレクトリに作成する必要があります。しかし、テストにのみ使用されるクラスはどのように処理するのですか?私はこれらのクラスが私の瓶の中にパッケージ化されることを望みません。このような状況に対処する共通の方法はありますか?Maven:テスト用に生成されたソースを扱うにはどうすればいいですか?
通常、生成されたソースはターゲットディレクトリに作成する必要があります。しかし、テストにのみ使用されるクラスはどのように処理するのですか?私はこれらのクラスが私の瓶の中にパッケージ化されることを望みません。このような状況に対処する共通の方法はありますか?Maven:テスト用に生成されたソースを扱うにはどうすればいいですか?
使用Mavenはビルドにあなたの生成されたテストソースファイルを追加するためのヘルパープラグインのadd-test-source
目標を構築する - >http://mojo.codehaus.org/build-helper-maven-plugin/add-test-source-mojo.html
それは、この目的で追加されたディレクトリがのtest-compile
フェーズでコンパイラプラグインによって自動的にピックアップされることを保証しますビルド。ここで
EDIT
はCXF-codegenを-プラグインのようにディレクトリを追加することを、私が言及している必要がありCXF-codegenを-プラグイン
<build>
<plugins>
...
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-test-sources</id>
<phase>generate-test-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/wsdl/myService.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin.version}</version>
<executions>
<execution>
<id>add-test-sources</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated/cxf</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
とtestignためのコードを生成する方法の例です。通常のソースフォルダです。だから、それはまだ瓶の中にパッケージ化されます、それは本当ですか? – lrxw
@mephi。実際には、プラグインの説明から、WSDLドキュメントからJavaファイルを吐き出すように見えます。 'generate-test-sources'フェーズに' cxf-codegen-plugin'を追加し、その直後に 'build-helper-maven-plugin:add-test-source'を追加すると、コンパイルされたクラスはテストの実行にのみ利用できます –