5.1 Lista de fases do projeto

Por fim, chegamos à montagem do projeto. E então você ficará um pouco surpreso. Bem, ou fortemente, como se vê. Maven revisou sua abordagem para construir um projeto. E agora você vai se convencer disso.

Toda a montagem do projeto foi dividida em fases, cuja descrição darei na tabela abaixo:

Ordem Estágio
1 validar verifica a exatidão das meta-informações sobre o projeto
2 compilar compila fontes
3 teste executa os testes de classe da etapa anterior
4 pacote empacota as classes compiladas em um novo artefato: jar, war, zip, ...
5 verificar verifica a exatidão do artefato e a satisfação dos requisitos de qualidade
6 instalar coloca o artefato no repositório local
7 implantar carrega um artefato para um servidor de produção ou repositório remoto

Ao mesmo tempo, as etapas são claramente sequenciais . Se você disser ao Maven para executar o comando package, ele executará primeiro as fases de validação, compilação, teste e só então pacote

Em princípio, não há nada de novo aqui, exceto que existem fases separadas para controle de qualidade: validar, testar, verificar. E até duas fases para implantar o assembly - instalar e implantar.

Para iniciar uma fase específica, basta escrever o comando maven phase . Por exemplo, para compilar, você precisa executar o comando maven package . etc.

O Intellij IDEA é ótimo para trabalhar com essas fases e possui um menu especial à direita para essas finalidades:

fase maven

Aqui, além das conhecidas fases, o IDEA apresenta mais 2 comandos: clean e site . clean é usado para limpar completamente a pasta de destino e o site pode criar a documentação do projeto.

5.2 Construindo um projeto

Se você quiser compilar o projeto, precisará executar a fase de compilação. Isso pode ser feito usando a linha de comando: mvn compile ou através da interface IDEA clicando no item compile .

Depois disso, o Maven começará a construir o projeto e você verá um log do processo de construção semelhante a este:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------

Se algo der errado, o log ficará assim:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Haverá muitas informações úteis no log, com o tempo você aprenderá a entendê-las e apreciá-las.

5.3 Ciclos de trabalho

Todos os comandos maven são divididos em três grupos - ciclos de vida. Eles são chamados de ciclos de vida porque especificam a ordem das fases que são executadas durante uma compilação ou um ciclo de vida específico porque nem todas as atividades do Maven são compilações.

Existem três ciclos de vida:

  • limpar;
  • padrão;
  • site.

E cada um deles tem sua própria ordem de fase. Clean tem o menor:

  1. pré-limpeza;
  2. limpar;
  3. pós limpo.

Fases adicionais ocultas de pré-limpeza e pós-limpeza foram adicionadas para que o cenário de limpeza possa ser mais flexível.

Depois vem o ciclo de vida do site , que, como você já sabe, é projetado para gerar automaticamente a documentação do projeto. É composto por quatro fases:

  1. pré-site
  2. site;
  3. pós-site;
  4. site-deploy.

Os ciclos de vida padrão podem ser aprimorados com funcionalidade usando plug-ins Maven . Falaremos sobre isso mais adiante, pois é um tema muito interessante que merece uma palestra à parte.

E o script padrão tem a lista mais longa de fases:

  1. validar;
  2. gerar-fontes;
  3. fontes-processo;
  4. gerar-recursos;
  5. recursos-processo;
  6. compilar;
  7. fontes de teste de processo;
  8. recursos de teste de processo;
  9. compilação de teste;
  10. teste;
  11. pacote;
  12. instalar;
  13. implantar.

Existem todas as mesmas fases que você já conhece, mas algumas outras opcionais foram adicionadas.

Primeiro, uma etapa popular em grandes projetos é a geração de fontes : geração de código Java baseado em XML, por exemplo. E um par de process-sources , que faz algo com esse código.

Em segundo lugar, a geração de recursos é gerar-recursos e seu método de recursos de processo emparelhado . Muitas vezes você verá algumas atividades vinculadas a essas fases em grandes projetos.

E por fim, testando. Ele tem três fases opcionais adicionais que ajudam a tornar a execução da fase de teste o mais flexível possível: process-test-sources, process-test-resources, test-compile.