私はjaxb2-maven-pluginを使用してJavaクラスを生成します。プラグインプロパティがあります:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>xjc</id>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- The package of your generated sources -->
<packageName>com.bcap.me.JaxB</packageName>
<sources>
<source>src/main/resources/xsds/pos.xsd</source>
</sources>
</configuration>
</plugin>
mvn clean compile
を実行した後、プラグインはtarget\classes\com\bcap\me\JaxB
ディレクトリにクラスを作成します。しかし、ソースフォルダー(パッケージ)にクラスが必要です:src\main\Java\com\bcap\me\JaxB
これを行うにはどうすればよいですか?
[〜#〜] update [〜#〜]outputDirectory
プロパティを追加しますが、このアプローチの正確さについてはわかりません:
<!--<packageName>com.bcap.me.JaxB</packageName>-->
<outputDirectory>src/main/Java/com/bcap/me/JaxB</outputDirectory>
[〜#〜]更新[〜#〜]
私は私のケースを次のように解決しました:
<execution>
<id>xjc_pos</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<!-- The package of your generated sources -->
<packageName>com.bcap.me.JaxB</packageName>
<outputDirectory>src/main/Java</outputDirectory>
<sources>
<source>src/main/resources/xsds/pos.xsd</source>
</sources>
<generateEpisode>false</generateEpisode>
<clearOutputDir>false</clearOutputDir>
</configuration>
</execution>
@ulabに感謝
次のmavenプラグインを使用できます
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/xjc</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>