java mavenjaxb2plugin在同一个项目中重用commons XSD
我有一个项目,它有一个模式a和B,都在同一个名称空间中。两者都导入同样使用相同名称空间的模式C。如何为A和B生成JAXB类来分离包,同时将C生成的JAXB类重用到commons包中
我已经知道我可能应该使用插曲,并使用为模式C生成的插曲作为绑定文件,分别执行模式A和B。问题是我不知道如何引用生成的插曲文件
下面是一个例子:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>generate-sources-C</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generatePackage>com.mymodel.commons</generatePackage>
<generateDirectory>${project.build.directory}/generated-sources/xjc-commons</generateDirectory>
<schemas>
<schema><url>src/main/resources/xsd/mymodel/c.xsd</url></schema>
</schemas>
</configuration>
</execution>
<execution>
<id>generate-sources-A</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generatePackage>com.mymodel.a</generatePackage>
<schemas>
<schema><url>src/main/resources/xsd/mymodel/a.xsd</url></schema>
</schemas>
</configuration>
</execution>
<execution>
<id>generate-sources-B</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generatePackage>com.mymodel.b</generatePackage>
<schemas>
<schema><url>src/main/resources/xsd/mymodel/b.xsd</url></schema>
</schemas>
</configuration>
</execution>
</executions>
</plugin>
这将导致在以下位置创建一个事件文件:
target/generated-sources/xjc-commons/META-INF/sun-jaxb.episode
我如何在A和B的执行中引用此插曲/绑定文件Using Episodes只提到如何从其他jar依赖项引用一个事件文件(或者我只是没有正确理解它,这更可能)
我看到一个更老的答案建议pass it as a parameter ^{
共 (0) 个答案