2012-09-26 11 views
13

Wyobraź sobie ten scenariusz.Niestandardowe nazwy pakietów cxf-codegen-plugin

Mam plik wsdl z przestrzenią nazw a/b/c, który importuje inny plik wsdl, którego przestrzeń nazw to m/n/o. Niestety, obie mają zdefiniowane w nich takie same ComplexTypes XYZ. Teraz, kiedy używam cxf-codegen-plugin do generowania kodu Java i używania niestandardowej nazwy pakietu "com.qsrs.uvw", tylko jedna klasa zostaje zachowana w wygenerowanym ostatnim kodzie. Czy ktoś może mi pomóc tutaj?

+0

Nie definiuj nazwy pakietu, pozwalając cxf-codegen-plugin wykonać pracę. – khmarbaise

Odpowiedz

43

Jeśli chcesz wygenerować pakiet w zależności od nazw oto rozwiązanie:

<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> 
       <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot> 
       <wsdlOptions> 
        <wsdlOption> 
         <wsdl>yourWsdl.wsld</wsdl> 
         <extraargs> 
          <extraarg>-client</extraarg> 
          <extraarg>-verbose</extraarg> 
          <extraarg>-p</extraarg> 
          <extraarg>http://your.namespace/services/=your.package</extraarg> 
          <extraarg>-p</extraarg> 
          <extraarg>http://your.namespace2/services2/=your.package2</extraarg> 
         </extraargs> 
        </wsdlOption> 
       </wsdlOptions> 
      </configuration> 
      <goals> 
       <goal>wsdl2java</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

Ten <extraarg>http://your.namespace2/services2/=your.package2</extraarg> będzie mapować nazw z pakietem chcesz.

+2

dzięki za odpowiedź. Czy możesz dać mi znać, czy możliwe jest określenie przedrostka wszystkich generowanych pakietów? – Gopal

+0

Co masz na myśli prefiksem na paczki? –

+0

@ Paulius..Imagine Pozwalam JibX szanować schemat, chcę, aby cały wygenerowany pakiet był pod głównym pakietem jibx.x.y.z. Prawdziwy problem polega na tym, że mam kod generujący kod cxf-code-gen przy użyciu tego samego schematu. Tak skutecznie mam dwie klasy o tej samej strukturze pakietu i nazwie. Dlatego chcę umieścić wszystkie klasy generowane przez jibx pod innym korzeniem. – Gopal

Powiązane problemy