Liste todos os objetivos possíveis no Maven 2?

105

Eu sou novo no Maven, vindo do mundo Ant.

É possível listar todos os objetivos possíveis (incluindo, digamos, todos os plug-ins) que você pode executar?

Posso ver que costumava haver um -gsinalizador no Maven 1, mas não está disponível na versão 2.

Noel M
fonte
4
Fico maluco que o maven não consiga responder a essa pergunta sem páginas de xml! Coisa boa!
Kieveli
1
Possível duplicata de Como exibir uma lista de metas disponíveis?
200_success

Respostas:

120

O objetivo que você indica na linha de comando está vinculado ao ciclo de vida do Maven. Por exemplo, o buildciclo de vida (você também tem os ciclos de vida cleane siteque são diferentes) é composto das seguintes fases:

  • validate: validar se o projeto está correto e todas as informações necessárias disponíveis.
  • compile: compila o código fonte do projeto.
  • test: teste o código-fonte compilado usando uma estrutura de teste de unidade adequada. Esses testes não devem exigir que o código seja empacotado ou implantado.
  • package: pegue o código compilado e empacote-o em seu formato distribuível, como um JAR.
  • integration-test: processe e implante o pacote, se necessário, em um ambiente onde os testes de integração podem ser executados.
  • verify: execute todas as verificações para verificar se o pacote é válido e atende aos critérios de qualidade
  • install: instale o pacote no repositório local, para uso como uma dependência em outros projetos localmente.
  • deploy: feito em um ambiente de integração ou liberação, copia o pacote final para o repositório remoto para compartilhamento com outros desenvolvedores e projetos.

Você pode encontrar a lista de plug-ins "principais" aqui , mas há muitos outros plug-ins, como os do codehaus, aqui .

Romain Linsolas
fonte
1
dê uma olhada na Referência do Ciclo de Vida. Todas as peças do ciclo de vida estão listadas lá.
Salandur,
51

É possível listar todos os objetivos possíveis (incluindo, digamos, todos os plug-ins) que é possível executar?

O Maven não tem nada embutido para isso, embora a lista de fases seja finita (a lista de objetivos de plug-ins não, já que a lista de plug-ins não é).

Mas você pode tornar as coisas mais fáceis e alavancar o poder de conclusão do bash (usando cygwin se você estiver no Windows), conforme descrito no Guia para conclusão automática do Maven 2.x usando BASH (mas antes de escolher o script deste guia, leia mais )

Para fazer as coisas funcionarem, primeiro siga este guia para configurar a conclusão do bash em seu computador. Então, é hora de obter um script para Maven2 e:

  • Embora você possa usar o do mini guia
  • Enquanto você usa uma versão aprimorada anexada a MNG-3928
  • Embora você possa usar scripts aleatórios encontrados na rede (veja os recursos se estiver curioso)
  • Eu pessoalmente uso o script Bash Completion do PPA de Ludovic Claude (que está incluído na versão empacotada do mavenUbuntu) que você pode baixar do HEAD. É simplesmente o melhor .

Abaixo, aqui está o que recebo apenas para ilustrar o resultado:

$ mvn [guia] [guia]
 Exibir todas as 377 possibilidades? (s ou n)
formiga: formiga 
formiga: limpa 
formiga: ajuda 
antrun: ajuda 
antrun: run 
arquétipo: rastreamento 
arquétipo: criar 
arquétipo: criar a partir do projeto 
arquétipo: gerar 
arquétipo: ajuda 
montagem: montagem 
assembly: diretório 
assembly: diretório-único 
montagem: ajuda 
montagem: único  
... 

Claro, eu nunca naveguei nas 377 possibilidades, eu uso a conclusão. Mas isso dá uma ideia sobre o tamanho de uma lista "a" :)

Recursos

Pascal Thivent
fonte
2
Ainda não deu uma olhada, mas a nova Maven Shellferramenta fornece um preenchimento automático, que pode ser útil aqui?
Romain Linsolas,
2
@romain Não, mvnshnão fornece preenchimento (pelo menos não na versão que tenho em minha máquina). Eu verifiquei antes de responder :)
Pascal Thivent
7

Se você usar o IntelliJ IDEA, poderá navegar por todos os objetivos / tarefas do maven (incluindo plug-ins) na Maven Projectsguia:

Projetos Maven

Denis Kniazhev
fonte
2
Eu gostaria de fazer isso por meio de algum comando. Como o IntelliJ IDEA faz isso?
nacho4d 01 de
0

Vamos simplificar:

Ciclos de vida do Maven: 1. Limpo 2. Padrão (construção) 3. Site

Fases do Maven do ciclo de vida padrão: 1. Validar 2. Compilar 3. Testar 4. Pacote 5. Verificar 6. Instalar 7. Implementar

Nota: Não misture ou se confunda com objetivos maven com ciclo de vida maven.

Veja Maven Build Lifecycle Basics 1

Nash
fonte
0

Um ciclo de vida de construção é composto de fases

Cada um desses ciclos de vida de construção é definido por uma lista diferente de fases de construção, em que uma fase de construção representa um estágio do ciclo de vida.

Por exemplo, o ciclo de vida padrão compreende as seguintes fases (para uma lista completa das fases do ciclo de vida, consulte a Referência do Ciclo de Vida):

  • validar - validar se o projeto está correto e todas as informações necessárias estão disponíveis
  • compilar - compilar o código fonte do projeto
  • test - testa o código-fonte compilado usando uma estrutura de teste de unidade adequada. Esses testes não devem exigir que o código seja empacotado ou implantado
  • pacote - pegue o código compilado e empacote-o em seu formato distribuível, como um JAR. verificar - execute qualquer verificação dos resultados dos testes de integração para garantir que os critérios de qualidade sejam atendidos
  • instalar - instalar o pacote no repositório local, para usar como uma dependência em outros projetos localmente
  • implantar - feito no ambiente de construção, copia o pacote final para o repositório remoto para compartilhamento com outros desenvolvedores e projetos.

Essas fases do ciclo de vida (mais as outras fases do ciclo de vida não mostradas aqui) são executadas sequencialmente para completar o ciclo de vida padrão. Dadas as fases do ciclo de vida acima, isso significa que quando o ciclo de vida padrão é usado, o Maven primeiro validará o projeto, depois tentará compilar as fontes, executá-las nos testes, empacotar os binários (por exemplo, jar), executar testes de integração naquilo pacote, verifique os testes de integração, instale o pacote verificado no repositório local e implante o pacote instalado em um repositório remoto.

Fonte: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Aguid
fonte