Como posso executar vários plugins Maven em uma única fase e definir sua respectiva ordem de execução?

StackOverflow https://stackoverflow.com/questions/2509513

Pergunta

Eu gostaria de quebrar certas fases no ciclo de vida do Maven em sub -fases. Gostaria de controlar o fluxo de execução de uma subfase para outra, como com dependências de formigas.

Por exemplo, eu gostaria de usar o plug -in NSIS para empacotar meu projeto em um instalador no estágio do pacote, depois que meu projeto foi empacotado em um arquivo de guerra. Eu gostaria de fazer tudo isso na fase da embalagem.

Isso é possível?

Obrigado

Foi útil?

Solução

Plugins ligados à mesma fase deveria estar executado na mesma ordem que estão listados no POM. Sob certas circunstâncias (por exemplo, se você vincular o mesmo plugin a uma fase duas vezes, como o plugin Antun), isso pode não ocorrer, mas isso é um bug (veja MNG-2258 e a questão relacionada MNG-3719).

Outras dicas

Eu tive o mesmo problema. Olhe para Como executar tarefas ordenadas no Maven2 Build. Por alguma razão, os diferentes objetivos vinculados a uma fase são armazenados em um mapa de hash ou outra estrutura não ordenada, o que torna a ordem de execução aleatória. Minha solução foi espalhar as tarefas para fases diferentes, mas não acho que haja muita sentido no seu caso (a embalagem do NSIS não é um teste de pré -integração). Você pode fazer um dos seguintes:

1) Experimente sua sorte e veja se o Maven bate a ordem certa para você (você provavelmente já tentou isso)

2) Use o plug -in independente - execute a meta fora do ciclo de vida. Algo como: pacote mvn org.codehaus.mojo: nsis-ma-maven-plugin: 1.0: compilar.

3) Separe -os no módulo: Tenha um pai pom contendo dois sub -módulos, um - seu projeto de guerra e outro para o projeto NSIS.

4) Use um ciclo de vida personalizado alterando o tipo, no seu caso você pode usar "exe". Isso é feito usando uma extensão de plug -in personalizada (Guia para usar a extensão)

5) Use o jetspeed-mvn-maven-plugin. Eu nunca o usei, mas parece relevante para suas necessidades.

Espero que isso lhe dê novas idéias.

Ronen

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