环境
我有多个ant任务,其中每个任务都从一个XSD为不同的软件包生成Java代码。所有任务总是执行,但一个接一个。
在那些xsds中,某些元素可以定义多次,但每个文件只能定义一次。这些元素应放在不同的程序包中。例如:
A_v1.xsd - contains:
-> <xs:element name="A"> => my.package.a_v1.A.java
A_v2.xsd - contains:
-> <xs:element name="A"> => my.package.a_v2.A.java
这很好。
问题
如何将其转换为maven?
问题/我尝试过的事情
我无法在pom中创建多个插件执行,无法对其进行不同的配置并让它们同时运行。
所以我试图一步一步地从XSD生成所有Java代码,但这会导致一个异常,表明某些字段已经定义。
我还尝试添加以下绑定:
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<jxb:bindings schemaLocation="A_v1.xsd" >
<jxb:schemaBindings>
<jxb:package name="my.package.a_v1"/>
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="A_v2.xsd" >
<jxb:schemaBindings>
<jxb:package name="my.package.a_v2"/>
</jxb:schemaBindings>
</jxb:bindings>
但是失败依旧。
任何帮助将不胜感激! 预先感谢!
答案 0 :(得分:0)
利用lexicore提供的信息,我确定所提供的XSD文件完全不正确。古老的ant构建似乎通过分别构建每个文件来掩盖了这一点。最后,向每个XSD添加名称空间都有帮助。