4

2 つのクラスがAあり、WSDL からB生成されます。から継承します。cxf-codegen-pluginAB

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>

2 つの質問があります。

  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 に答える