2012-06-03 2 views
4

AB은 내 WSDL에서 cxf-codegen-plugin으로 생성됩니다. AB에서 상속됩니다.CXF/JAXB2로 equals/hashcode 메소드 생성 및 사용자 정의

가 내가 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. 인가 거기 방법 B (즉, super.equals()을 호출하지 않음)의 속성을 비교하지 않는 equals() 메서드를 생성합니까?
  2. A의 특정 속성 (기본적으로 모든 속성이 비교 된 것처럼 보임)을 비교하는 equals() 메서드를 생성하도록 플러그인에 지시하는 방법은 무엇입니까? 그것이 여기에서 설명하는대로

감사

+0

의견이 있으십니까 ..........? –

답변

2

나는 해결책을 발견했습니다 http://confluence.highsource.org/display/J2B/JAXB2+Basics+Plugins.

특정 바인딩을 무시하도록 JAXB2 플러그인에 사용자 지정 바인딩을 추가 할 수 있습니다.

+0

잘못된 플러그인, cxf - * - plugin이 아닙니다. – rektide

+0

'cxf-codegen-plugin'은 메이븐 빌드 과정에서 .wsdl과 .xsd 파일로부터 소스 코드를 생성하는 데 사용됩니다. 백그라운드에서는'jaxb2-basics' 라이브러리를 사용하여 xjc args 및 바인딩 파일에 지정된대로 equals 및 hashCode 메소드를 생성합니다. –

관련 문제