Xsd CXF JAXB basics Equals/Hashcode

Xsd CXF JAXB basics Equals/Hashcode,xsd,wsdl,cxf,cxf-codegen-plugin,jaxb2-basics,Xsd,Wsdl,Cxf,Cxf Codegen Plugin,Jaxb2 Basics,我在为导入的xsd文件生成equals和hashcode方法时遇到问题,这些方法将输出到wsdl文件的一个单独位置。我目前在同一个文件夹中有一个.wsdl和.xsd文件。.wsdl文件导入这些xsd文件,这些文件与wsdl文件具有不同的命名空间。生成这些xsd文件时,它们不包含equals或hashcode方法。下面是我的pom/xml配置和文件示例: <wsdlOption> <wsdl> src/main/xml/wsdl/Rule.wsdl

我在为导入的xsd文件生成equals和hashcode方法时遇到问题,这些方法将输出到wsdl文件的一个单独位置。我目前在同一个文件夹中有一个.wsdl和.xsd文件。.wsdl文件导入这些xsd文件,这些文件与wsdl文件具有不同的命名空间。生成这些xsd文件时,它们不包含equals或hashcode方法。下面是我的pom/xml配置和文件示例:

<wsdlOption>
    <wsdl>
        src/main/xml/wsdl/Rule.wsdl
    </wsdl>
    <wsdlLocation>classpath:wsdl/Rule.wsdl</wsdlLocation>
    <bindingFiles>
        <bindingFile>src/main/xml/wsdl/bindings.xjb</bindingFile>
    </bindingFiles>
    <extraargs>
        <extraarg>-impl</extraarg>
        <extraarg>-verbose</extraarg>
        <extraarg>-xjc-XsimpleEquals</extraarg>
        <extraarg>-xjc-XsimpleHashCode</extraarg>
    </extraargs>
</wsdlOption>

src/main/xml/wsdl/Rule.wsdl
类路径:wsdl/Rule.wsdl
src/main/xml/wsdl/bindings.xjb
-恳求
-冗长的
-xjc XsimpleEquals
-xjc XsimpleHashCode
示例wsdl(导入的Rule.xsd未生成方法):


我假设生成的xsd的位置有问题,因为我可以通过将其移动到与wsdl命名空间相同的父文件夹来让它工作。我希望在不移动这些文件位置的情况下实现这一点,因为我有一个庞大的代码库,如果我这样做的话,需要进行大规模重构


欢迎提出任何建议。

我通过在pom.xml配置中添加以下内容找到了解决此问题的方法:

<extraarg>-p</extraarg>
<extraarg>http://www.xsd.com/Rule=com.xsd.rule</extraarg>
-p
http://www.xsd.com/Rule=com.xsd.rule
尽管这不会更改名称空间/包位置,但它现在似乎会生成导入的文件equals和hashcode方法

<extraarg>-p</extraarg>
<extraarg>http://www.xsd.com/Rule=com.xsd.rule</extraarg>