我有一个 basic.xsd
和另外两个A.xsd
和 B.xsd
. A.xsd
和 B.xsd
转换为两个不同的 java 包,因此我需要同一插件的两次 Maven 执行。
两个 XSD 都引用 basic.xsd
对于一些共享类。如果basic.xsd
将来自不同的项目我可以通过使用 episodes
很好地解决这个问题以防止重复类。
但是如何引用当前项目呢?
我第一次执行插件是从 basic.xsd
生成类到它自己的 java 命名空间中。之后执行 A.xsd
和 B.xsd
应该知道从 basic.xsd
生成的东西.
我能以某种方式指出 basic.xsd
的生成情节吗? ?
有点像
<episodes><episodeFile>basicXSD.episode</episodeFile</episodes>
会很好,但据我所知,我只能添加依赖项... :-(
最佳答案
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.1</version>
<executions>
<execution>
<id>first</id>
...
<configuration>
<episodeFile>${some.path}/first.episode</episodeFile>
</configuration>
</execution>
<execution>
<id>second</id>
...
<configuration>
<args>
<arg>-b</arg>
<arg>${some.path}/first.episode</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
http://docs.oracle.com/javase/6/docs/technotes/tools/share/xjc.html http://weblogs.java.net/blog/kohsuke/archive/2006/09/separate_compil.html
关于maven-2 - Maven 中同一项目的 maven-jaxb2-plugin 插曲,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10948926/