2009-07-13 5 views
3

Ich benutze maven cxf-codegen-plugin, um Java-Web-Service-Dateien von wsdl zu generieren. Das Plugin funktioniert gut, wenn ich versuche, die Dateien im Standardausgabeverzeichnis (target \ generierte-Quellen \ cxf) zu erzeugen, aber wenn ich versuche, sie in anderem Verzeichnis mit zu generieren:CXF maven plugin generiere Klassen im falschen Verzeichnis

<sourceRoot>src/main/myOtherDir</sourceRoot> 

in meinem pom.xml, die Dateien nur generiert, wenn ich tun:

mvn clean eclipse:eclipse 

wenn ich

mvn eclipse:eclipse 

ohne 'sauber' werden die Dateien nicht erzeugt ...

Hat jemand eine Idee ....?

Mein Pom:

 <plugin> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-codegen-plugin</artifactId> 
      <version>${cxf.version}</version> 
      <executions> 
       <execution> 
        <id>generate-sources</id> 
        <configuration> 
         <sourceRoot>src/main/myOtherDir</sourceRoot> 
         <wsdlOptions> 
          <wsdlOption> 
           <wsdl>src/main/resources/wsdl/AccountWS.wsdl</wsdl> 
          </wsdlOption> 
         </wsdlOptions> 
        </configuration> 
        <goals> 
         <goal>wsdl2java</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 

Danke, Alon

Antwort

3

Sie sind besser dran, die SourceRoot unter dem Zielverzeichnis einstellen, so dass es zusammen mit anderen Inhalten gereinigt wird, zB:

<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 

Um sicherzustellen, dass das Plugin immer ausgeführt wird, müssen Sie es an eine Phase binden, z

<executions> 
    <execution> 
    <id>generate-sources</id> 
    <phase>process-resources</phase> 
    ... 
    <goals> 
     <goal>wsdl2java</goal> 
    </goals> 
    </execution> 
1

Nun, ich fand das Problem, sehr peinlich ... Weil ich nicht die WSDL-Datei aktualisiert wurde, das Plugin nicht die Dateien generiert haben ...

Wie dem auch sei, die Apache cfx Dokumentation besagt, dass : Für CXF 2.1.4 und letzteres müssen Sie nicht mehr <phase> angeben, da generate-sources der Standardwert ist.

Danke für Ihre Hilfe

+0

Danke für diesen Hinweis. Ich geriet in die gleichen Schwierigkeiten. Löschen Sie das Zielverzeichnis und es wird erneut generiert. – ttt

Verwandte Themen