Pergunta

Estou tentando migrar um aplicativo Java construído pela ANT para o MAVEN2. Entre outros, a construção executa as seguintes operações:

  1. Executando um documento Javadoc para encontrar arquivos java anotados para serem externalizados mais tarde como serviços da web

  2. compilar uma pequena parte do código para a etapa 3

  3. Execute o eixo java2wsdl no código compilado da etapa 2

  4. Produza o código Java com WSDL2Java nos arquivos WSDL da Etapa 3

  5. Compilar todo o código

Ao tentar "dificultar" o processo, posso realizar cada tarefa de cada vez, mas não conseguem alcançá -los todos nessa ordem.

Para demonstrar meu pom e não carregar você com detalhes, mostrarei o seguinte snippet:

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

O principal problema é que não tenho controle sobre a ordem das coisas e é obviamente importante aqui, pois cada saída de etapa é a próxima etapa.

Foi útil?

Solução

Plugins ligados à mesma fase deveria estar executado na mesma ordem que estão listados no POM, mas ... há uma questão em aberto sobre isso (MNG-2258). Também dê uma olhada em um problema relacionado MNG-3719 (preste uma atenção especial a este comentário). Já que não acho que o "trapaceiro" de MNG-3719 é possível no seu caso, minha sugestão é tentar com o Maven 2.0.8 :( e cruzar os dedos para não enfrentar nenhuma regressão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top