複数の/共通の重複する xs:element / class エントリを含む複数の xsd スキーマ ファイルがあります。pom.xml の次の行を使用してクラスに変換してみました
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>schema1</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/xsd/schema1</schemaDirectory>
<schemaIncludes>
<include>schema1.xsd</include>
</schemaIncludes>
<packageName>com.schema1.rest.stub</packageName>
</configuration>
</execution>
<execution>
<id>schema2</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/xsd/schema2</schemaDirectory>
<schemaIncludes>
<include>schema2.xsd</include>
</schemaIncludes>
<packageName>com.schema2.rest.stub</packageName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
execution
タグを1 つだけ使用して実行しているときに、クラスを正常に取得しています。しかし、2 つ以上のスキーマまたはexecution
タグを含めると、最後のスキーマ「schema2」に対して作成されたクラスしか表示されず、「schema1」に対して作成されたクラスは表示されません。
コマンド ライン ログで実行すると、両方のスキーマに対してクラスが生成されていることがわかります。しかし、その結果、古いパッケージが削除され、再作成されます。基本的に、最後のスキーマのみのクラスしかなく、他のスキーマのクラスはありません。
どうすれば解決できますか?