我有多个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
标记时,我只能看到为最后一个模式“schema2”而不是“schema1”创建的类。
在命令行日志中运行时,我可以看到为这两个模式生成了类。但结果是删除旧包并重新创建它。基本上我只有最后一个模式的类,而不是其他模式。
我如何解决它?
答案 0 :(得分:0)
在<clearOutputDir>false</clearOutputDir>
标记中使用<configuration>
。
例如:
<configuration>
<clearOutputDir>false</clearOutputDir>
<schemaDirectory>src/main/resources/xsd/schema2</schemaDirectory>
<schemaIncludes>
<include>schema2.xsd</include>
</schemaIncludes>
<packageName>com.schema2.rest.stub</packageName>
</configuration>