繁体   English   中英

使用xjc从多个xsd文件生成Java

[英]Generate Java from multiple xsd files with xjc

环保环境

我有多个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>

但是失败依旧。

任何帮助将不胜感激! 提前致谢!

利用lexicore提供的信息,我确定提供的XSD文件完全不正确。 古老的ant构建似乎通过分别构建每个文件来掩盖了这一点。 最后,向每个XSD添加名称空间都有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM