У меня есть несколько файлов схемы xsd, которые содержат несколько/общих дубликатов записи xs:element/class. Я попытался преобразовать их в классы, используя следующие строки в 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
я успешно получаю классы. Но когда я включаю две или более схемы или тега execution
, я могу видеть только классы, созданные для последней схемы «схема2», а не для «схемы1».
Во время работы в журналах командной строки я вижу, что классы генерируются для обеих схем. Но в результате старый пакет удаляется и создается заново. В основном у меня есть классы только для последней схемы, а не для других схем.
Как я могу это решить?