java - 复杂类型到新类名的 JAXB 绑定(bind)

标签 java jaxb jaxb2 maven-jaxb2-plugin jaxb2-maven-plugin

我正在尝试通过 maven-jaxb2-plugin 将以下内容映射到新的类名。

我的这个元素存在于项目的两个 XSD 中(不同的命名空间)。

我想将此实例映射到不同的类名,以便它可以编译。

<xs:complexType name="ResponseCommonData">
    <xs:sequence>
        <xs:element name="RequestID" type="xs:string"/>
        <xs:element name="BusinessError" form="qualified" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
                <xs:complexContent>
                    <xs:extension base="BusinessErrorCommonData"/>
                </xs:complexContent>
            </xs:complexType>
        </xs:element>
    </xs:sequence>
</xs:complexType>

<xs:complexType name="BusinessCommonData">
    <xs:sequence>
        <xs:element name="Code" type="xs:string" form="unqualified" minOccurs="0"/>
    </xs:sequence>
</xs:complexType>

我的绑定(bind).xjb 是...

<jaxb:bindings schemaLocation="CFRV2.0.0.xsd" node="/xs:schema">
       <jaxb:bindings node="xs:complexType[@name='ResponseCommonData']">
                 <jaxb:property  name="CFRResponseCommonData" />
       </jaxb:bindings>
       <jaxb:bindings node="xs:complexType[@name='BusinessCommonData']">
                 <jaxb:property  name="CFRBusinessCommonData" />
       </jaxb:bindings>
</jaxb:bindings>

我得到的错误是这样的......

org.xml.sax.SAXParseException: A class/interface with the same name
"com.ResponseCommonData" is already in use. 
Use a class customization to resolve this conflict.

如果我从 ResponseCommonData 中删除内部元素 BusinessError,那么 JAXB 将继续,但会向我提供有关另一个复杂类型类的类似消息。

最佳答案

使用jaxb:class而不是jaxb:property

关于java - 复杂类型到新类名的 JAXB 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34156536/

相关文章:

java - JAXB Generated classes giving namespace cannot be resolved 错误

java - 使用 Hibernate Criteria 连接不同列上的三个实体所需的帮助

java - 尝试创建 JAXBContext 时出现未处理的异常 (Jaxb 2.0)

java - 读取文件内容

java - 使用 JAXB 处理设计不佳的 XML

java - 嵌套元素列表的 JAXB 注释

xml - 如何将 xml 属性添加到 jaxb 注释类 XmlElementWrapper?

java - xs :integer produces @XmlElement with "type=String.class" 上的 JAXB javaType 自定义

java - 登录后 Spring Security 的重定向不正确

java - GAE 与 JPA : Update entity