4

我有两个类ABcxf-codegen-plugin我的 WSDL 生成。A继承自B

我想添加常用方法,例如hashCode()equals()...所以,我的 POM 中有以下配置:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>2.6.0</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${basedir}/wsdl/PeeringApi.wsdl</wsdl>
                        <extraargs>
                            <extraarg>-xjc-XhashCode</extraarg>
                            <extraarg>-xjc-Xequals</extraarg>
                            <extraarg>-xjc-Xsetters</extraarg>
                        </extraargs>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.jvnet.jaxb2_commons</groupId>
            <artifactId>jaxb2-basics</artifactId>
            <version>${jaxb2.version}</version>
        </dependency>
    </dependencies> </plugin>

我有两个问题:

  1. 有没有办法生成一个equals()不比较B(即不调用super.equals())属性的方法?
  2. 如何指示插件生成equals()A比较我指定的某些属性(默认情况下,似乎所有属性都进行了比较)的方法?

谢谢

4

1 回答 1

2

我找到了一个解决方案,如下所述:http: //confluence.highsource.org/display/J2B/JAXB2+Basics+Plugins

您可以添加自定义绑定以指示 JAXB2 插件忽略某个属性。

于 2012-06-07T07:42:50.223 回答