Ich versuche, eine Java-Anwendung, die von Ant erstellt wurde, auf Maven2 zu migrieren. Unter anderem führen die Build die folgenden Operationen:So führen Sie geordnete Aufgaben in Maven2 Build aus
1) ein javadoc doclet Laufen zum kommentierten Java-Dateien später als Web-Service externalisieren
2) kompiliert einen kleinen Teil des Codes für Schritt 3
3) läuft Achse Java2WSDL auf dem kompilierten Code aus Schritt 2
4) erzeugt Java-Code mit wsdl2java auf den wSDL-Dateien aus Schritt 3
5) kompiliert den gesamten Code
Beim Versuch, „mavenize“ der Prozess, den ich jede Aufgabe erfüllen kann zu einer Zeit, aber versäumt, sie alle in dieser Reihenfolge zu erreichen.
Zu meinem pom demonstrieren und nicht Sie mit Details lade ich den folgenden Ausschnitt zeigen werde:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.6.1</version>
<executions>
<execution>
<id>aggregate</id>
<phase>generate-sources</phase>
<goals>
<goal>aggregate</goal>
</goals>
<configuration>...</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>compileWSfiles</id>
<goals>
<goal>compile</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<includes>
<!-- include 3 source files -->
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>axistools-maven-plugin</artifactId>
<version>1.3</version>
<dependencies>
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>java2wsdl</id>
<phase>generate-sources</phase>
<goals>
<goal>java2wsdl</goal>
</goals>
<configuration>...</configuration>
</execution>
<execution>
<id>wsdl2java</id>
<phase>generate-sources</phase>
<goals>
<goal>wsdl2java</goal>
</goals>
<configuration>...</configuration>
</execution>
</executions>
</plugin>
</plugins>
Das Hauptproblem ist, dass ich auf der Ordnung der Dinge keine Kontrolle haben, und es ist offensichtlich wichtig hier, da jede Schrittausgabe die nächste Schritteingabe ist.
Vielen Dank. Denken Sie Das Erstellen eines eigenen Plugins, das die obigen Operationen ausführt, stellt eine mögliche Lösung dar. Kann ich ein Plugin mit einem Ziel erstellen, das andere Plugin-Ziele ausführt? – rperez
@rperez Ich bin mir nicht sicher (siehe http://www.mail-archive.com/ [email protected]/msg104478.html) Ich habe das nie wirklich versucht. –