我有一个存储在Maven仓库中的数据模型作为XSD文件。我的目标是创建一个包含代表此模型的所有Java类的jar。我想用maven和JAXB来做这件事。 我知道maven-jaxb2-plugin(codehouse-mojo和java-net,还不确定它们是如何区别的)但我没有看到从maven依赖项中使用XSD作为输入的方法。我是否必须编写自己的插件才能执行此操作?
如果有更好的工具,它不一定是JAXB。
答案 0 :(得分:1)
免责声明:我是maven-jaxb2-plugin
的作者。
检查documentation,它就在那里。请参阅Specifying What To Compile - Specifying URLs, filesets and Maven artifact resources。
示例:
var n1Channel:SoundChannel = new narratorAlphabetSounds();
n1Channel.addEventListener(Event.SOUND_COMPLETE, audioComplete);
function audioComplete(e:Event):void
{
gotoAndPlay("step2");
}
您还可以使用catalogs将架构网址重写为Maven artifact resources。
示例:
<configuration>
<schemas>
<!--
Compiles a schema which resides
in another Maven artifact.
-->
<schema>
<dependencyResource>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin-tests-po</artifactId>
<!-- Can be defined in project dependencies or dependency management -->
<version>${project.version}</version>
<resource>purchaseorder.xsd</resource>
</dependencyResource>
</schema>
</schemas>
</configuration>
这会将URI REWRITE_SYSTEM "http://schemas.opengis.net" "maven:org.jvnet.ogc:ogc-schemas:jar::!/ogc"
重写为http://schemas.opengis.net/ows/2.0/owsAll.xsd
。这将引用maven:org.jvnet.ogc:ogc-schemas:jar::!/ogc/ows/2.0/owsAll.xsd
JAR工件中的ogc/ows/2.0/owsAll.xsd
资源。
据我所知,这些功能对于maven-jaxb2-plugin
来说是唯一的。