2012-04-15 7 views
15

Ich versuche, die cxf-codegen-plugin zu Quellen aus meiner WSDL-Datei zu generieren. Beim Aufruf von wsdl2java manual werden die gewünschten Klassen generiert, aber wenn mvn generate-sources verwendet wird passiert nichts und ich bekomme die Meldung "Keine Ziele für das Projekt benötigt". Der direkte Aufruf des Plugins hilft nicht.cxf-codegen-plugin erzeugt keine Quellen

Der Extrakt aus meinem Poms folgt:

<plugin> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-codegen-plugin</artifactId> 
    <version>2.5.2</version> 
    <executions> 
     <execution> 
      <id>generate-sources</id> 
      <phase>generate-sources</phase> 
      <configuration> 
       <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
       <wsdlOptions> 
        <wsdlOption> 
         <wsdl>${basedir}/src/main/MyServiceInterface.wsdl</wsdl> 
        </wsdlOption> 
       </wsdlOptions> 
      </configuration> 
      <goals> 
       <goal>wsdl2java</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

Antwort

18

Das ist sehr ähnlich wie die Art und Weise sieht ich (erfolgreich), dass die Plug-in einem meiner Projekte konfigurieren; Ich würde erwarten, dass das funktioniert. (Ich glaube, Sie können die <sourceRoot> weglassen; die Standardeinstellung dafür ist die, die Sie angegeben haben.)

Das einzige, was ich denken könnte wäre, wenn Sie diese Plugin-Konfiguration in einem nicht aktiven Maven gesetzt hätte Profil oder (wahrscheinlicher) im <pluginManagement> Abschnitt anstelle des geraden Abschnitts <plugins>; Der Abschnitt pluginManagement überschreibt Aspekte der Konfiguration von Plugins, ermöglicht sie jedoch nicht zur Verwendung. (Es beeinflusst jedoch die explizite Verwendung; ich weiß, dass Sie das nicht wollen.)

+0

pluginManagement war es. Danke – Vespasian

+0

@Vespasian Glücklich zu helfen. –

2

In meinem Fall dachte ich zumindest, dass es auch keinen Quellcode erzeugte, aber es war tatsächlich. Das Problem war, dass der Ordner target/generated/cxf von Eclipse als Quellordner bestimmt wurde, was ich nicht manuell gemacht habe. Also war die Quelle in der Paketstruktur, nicht in der Ordnerstruktur unten, an der Spitze meines Projekts, wo ich gesucht und erwartet habe.

0

In meinem Fall, solange ich das alte Zielverzeichnis (definiert in <sourceRoot>/path/to/target</sourceRoot>) hatte, wurde nichts erzeugt. Erst nach dem Löschen des Zielordners hat das Plugin tatsächlich begonnen, die Quellen zu generieren.

Verwandte Themen