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:
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:
- pré-limpeza;
- limpar;
- 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:
- pré-site
- site;
- pós-site;
- 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:
- validar;
- gerar-fontes;
- fontes-processo;
- gerar-recursos;
- recursos-processo;
- compilar;
- fontes de teste de processo;
- recursos de teste de processo;
- compilação de teste;
- teste;
- pacote;
- instalar;
- 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.
GO TO FULL VERSION