JAXB编译问题 - ' ArrayOfstring'已定义

时间:2016-03-18 03:50:32

标签: maven xsd jaxb wsdl xjc

我在运行" mvn clean install"

时收到此错误

由JAXB抛出:
[错误]由JAXB引发:' ArrayOfstring'已经定义了 [错误]
[错误]由JAXB抛出:(与上述错误相关)第一个定义出现在这里 [错误]
[错误]由JAXB引发:' ArrayOfstring'已经定义了

ArrayOfString在使用相同名称空间的多个XSD文件中多次出现。

wsdl0:

<xsd:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> 
    <xsd:complexType name="ArrayOfstring">
        <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring"/>
</xsd:schema>

wsdl1:

<xsd:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <xsd:complexType name="ArrayOfstring">
        <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring"/>
</xsd:schema>
</wsdl:types>   

我该如何解决这个问题?我假设我必须使用外部绑定文件...谢谢!

萨姆

1 个答案:

答案 0 :(得分:0)

我将为每个wsdl生成不同包中的类,这样您就不会发生任何冲突。这可以通过使用绑定文件来实现:

https://github.com/highsource/maven-jaxb2-plugin/wiki/Configure-Target-Packages-in-Binding-Files如您所想。