2010-03-15 13 views
6

Estoy intentando migrar una aplicación Java creada por Ant a Maven2. Entre otros la acumulación realizar las siguientes operaciones:Cómo realizar tareas ordenadas en Maven2 compilación

1) Ejecución de una doclet javadoc para encontrar los archivos Java anotadas para ser exteriorizar más tarde como servicios Web
2) compilar una pequeña parte del código para el paso 3
3) plazo eje Java2WSDL en el código compilado desde el paso 2
4) producir código Java con wsdl2java en los archivos WSDL desde el paso 3
5) compilar todo el código

Cuando se trata de "mavenize" el proceso que se puede realizar cada tarea a la vez, pero no logran todos en ese orden.

Para demostrar mi pom y no cargar con detalles Voy a mostrar el siguiente fragmento:

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

El principal problema es que no tengo ningún control sobre el orden de las cosas y es obviamente importante aquí ya que cada paso de salida es el siguiente paso de entrada.

Respuesta

6

Los complementos vinculados a la misma fase deben ser ejecutados en el mismo orden en que se enumeran en el POM, pero ... hay un problema abierto al respecto (MNG-2258). También eche un vistazo a la cuestión relacionada MNG-3719 (preste especial atención a this comment). Como no creo que el "truco" de MNG-3719 sea posible en su caso, mi sugerencia es probar con Maven 2.0.8 :(Y cruzar los dedos para no enfrentar ninguna regresión.

+0

Gracias. ¿Cree usted? Escribir mi propio complemento que realice las operaciones anteriores es una solución posible. ¿Puedo crear un complemento con un objetivo que ejecute otros objetivos de complemento? – rperez

+0

@rperez No estoy seguro (ver http://www.mail-archive.com/ [email protected]/msg104478.html). Nunca lo intenté en realidad. –

Cuestiones relacionadas