Estou apenas aprendendo o Maven e isso pode ser óbvio, mas não consigo encontrar uma maneira fácil de listar os objetivos associados a cada fase do ciclo de vida do maven para um determinado projeto.
Eu vi que as fases do ciclo de vida padrão do Maven e os objetivos padrão correspondentes estão documentados aqui . Meu entendimento até agora é que cada pom.xml pode vincular objetivos adicionais a cada fase do ciclo de vida.
Portanto, existe um comando mvn para determinar as metas que serão executadas para cada fase do ciclo de vida de um determinado projeto? Se não, acho que só preciso olhar em pom.xml para cada novo projeto do maven para descobrir isso.
O
buildplan-maven-plugin
é uma excelente ferramenta para mostrar como os objetivos estão vinculados a fases.Abaixo estão exemplos de comandos que você pode executar. Os comandos baixarão e instalarão automaticamente o plugin, caso ainda não tenha sido instalado.
Liste as metas pela ordem em que serão executadas
Gols de grupo por fase
Metas de grupo por plugin
Notas
Por padrão, os objetivos procuram tarefas que seriam executadas se o usuário chamasse
mvn deploy
. Fases comoclean
não serão incluídas. Para incluir várias fases na pesquisa, use abuildplan.tasks
propriedade:fonte
mvn fr.jcgay.maven.plugins:buildplan-maven-plugin:list -Dbuildplan.tasks=clean,install,deploy
Uma ferramenta que ajuda é
mvn help:effective-pom
imprimir o POM com todas as variáveis e todos os POMs pai expandidos. Isso ajuda a entender o que Maven vê. A partir daí, é muito simples encontrar todos os objetivos adicionais (que geralmente não são tantos).O maior problema são os objetivos implícitos (ou seja, quando um plugin se conecta a algumas fases do ciclo de vida automaticamente). Não há uma maneira fácil de ver isso sem realmente executar o Maven. Isso deve ficar melhor no Maven 3. Até então, execute o Maven com o
-X
qual imprimirá uma grande quantidade de saída de depuração mais a fase atual e quais plug-ins são executados.fonte
Se não for com o Maven, mas usando m2e, você pode fazer isso usando o bloco de código que pode ser usado em um plug-in do Eclipse:
Veja a fonte completa .
Já implementado em:
http://marketplace.eclipse.org/content/phases-and-goals
Ele faz uso da capacidade de m2e para calcular a associação de metas com fases. Também estou tentando resolver isso no nível de maven.
fonte
Coloquei a resposta de Chad em um script (para não ter que lembrar o nome do plugin, que é muito longo). Coloque-o na pasta ~ / bin / para que você possa usá-lo em qualquer lugar.
fonte