Frage

Ich versuche, eine Java-Anwendung, die von Ant zu Maven2 gebaut zu migrieren. Unter anderem führen die Build die folgenden Operationen:

  1. Javadoc doclet Lauf kommentierte zu finden Java-Dateien externalize werden später als Web-Services

  2. einen kleinen Teil des Codes für Schritt kompiliert 3

  3. laufen Achse Java2WSDL auf dem kompilierten Code aus Schritt 2

  4. produziert Java-Code mit wsdl2java auf den WSDL-Dateien aus Schritt 3

  5. kompiliert den gesamten Code

Wenn auf „mavenize“ der Prozess versucht, kann ich jede Aufgabe in einer Zeit erreichen, aber nicht sie alle in dieser Reihenfolge zu erreichen.

Um meine pom zu demonstrieren und nicht Sie mit Details lade ich den folgenden Ausschnitt zeigen werden:

<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 keine Kontrolle über die Ordnung der Dinge haben und es ist offensichtlich wichtig wie jeder Schritt Ausgang der nächste Schritt eingegeben wird.

War es hilfreich?

Lösung

Plugins gebunden an die gleichen Phase sollte ausgeführt in der gleichen Reihenfolge, wie sie in der POM aufgeführt sind, aber ... gibt es eine offene Frage über diese ( MNG-2258 ). Haben Sie auch einen Blick auf eine der damit verbundenen Ausgabe MNG-3719 (zahlen eine besondere Aufmerksamkeit auf < a href = "http://jira.codehaus.org/browse/MNG-3719?focusedCommentId=164221&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_164221" rel = "noreferrer"> dieser Kommentar ). Da glaube ich nicht, dass die „Betrüger“ von MNG-3719 in möglich ist, Ihre Fall mein Vorschlag ist, mit Maven 2.0.8 :( Und drücken Sie die Daumen versuchen, keine Regression gegenüber.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top