Question

Je suis en train de migrer une application Java construite par Ant pour Maven2. Entre autres la construction effectuer les opérations suivantes:

  1. L'exécution d'un doclet javadoc pour trouver des fichiers Java annotées d'être extériorisent plus tard en tant que services Web

  2. compiler une petite partie du code pour l'étape 3

  3. run java2wsdl axe sur le code compilé provenant de l'étape 2

  4. produire du code Java avec wsdl2java sur les fichiers WSDL de l'étape 3

  5. compiler tout le code

Lorsque vous essayez de « mavenize » le processus, je peux accomplir chaque tâche à la fois, mais ne parviennent pas à les atteindre tous dans cet ordre.

Pour démontrer mon pom et ne pas vous charger avec des détails que je vais vous montrer l'extrait suivant:

<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>

Le principal problème est que je n'ai aucun contrôle sur l'ordre des choses et il est évidemment important ici que chaque sortie étape est l'entrée de l'étape suivante.

Était-ce utile?

La solution

Plugins lié à la même phase devrait être exécuté dans le même ordre que sont répertoriés dans le POM, mais ... il y a une question ouverte à ce sujet ( MNG-2258 ). Aussi jeter un oeil à la question connexe MNG-3719 (payer une attention particulière à < a href = "http://jira.codehaus.org/browse/MNG-3719?focusedCommentId=164221&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_164221" rel = "noreferrer"> ce commentaire ). Comme je ne pense pas que le « triche » de MNG-3719 est possible dans votre cas, ma suggestion est d'essayer avec Maven 2.0.8 :( Et croiser les doigts pour ne pas faire face à une régression.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top