Gerenciamento de Projetos com o Maven: Entendendo o Ciclo de Vida
O ciclo de vida no Maven consiste em seguir etapas definidas para gerenciar o desenvolvimento de um projeto, desde a compilação até o deploy. Os ciclos de vida mais comuns são:
default: compilação, teste, empacotamento e instalação do projeto.clean: remove artefatos gerados anteriormente.site: gera a documentação do projeto.
Cada etapa do ciclo de vida é composta por fases, que são executadas na ordem definida pelo Maven. Exemplos de fases incluem validação, compilação, teste, empacotamento e implantação.
As listas a seguir contém todas as fases de compilação dos ciclos de vida, que são executados na ordem dada até o ponto do especificado.
Ciclo de vida Clean
| Fase | Descrição |
|---|---|
| pre-clean | executa processos necessários antes da limpeza do projeto real |
| clean | remove todos os arquivos gerados pela compilação anterior |
| post-clean | executa processos necessários para finalizar a limpeza do projeto |
Ciclo de vida Default
| Fase | Descrição |
|---|---|
| validate | valida se o projeto está correto e todas as informações necessárias disponíveis |
| initialize | inicializa o estado de construção, por exemplo, definir propriedades ou criar diretórios |
| generate-sources | gera qualquer código-fonte para inclusão na compilação |
| process-sources | processa o código-fonte, por exemplo, para filtrar quaisquer valores |
| generate-resources | gera recursos para inclusão no pacote |
| process-resources | copia e processa os recursos no diretório de destino, pronto para empacotamento |
| compile | compila o código-fonte do projeto |
| process-classes | pós processamento dos arquivos gerados a partir da compilação, por exemplo, para fazer o aprimoramento de bytecode em classes Java |
| generate-test-sources | gera qualquer código-fonte de teste para inclusão na compilação |
| process-test-sources | processa o código-fonte de teste, por exemplo, para filtrar quaisquer valores |
| generate-test-resources | cria recursos para teste |
| process-test-resources | copia e processa os recursos no diretório de destino de teste |
| test-compile | compila o código-fonte de teste no diretório de destino de teste |
| process-test-classes | pós processamento dos arquivos gerados a partir da compilação de teste, por exemplo, para fazer o aprimoramento de bytecode em classes Java |
| test | executa testes usando uma estrutura de teste de unidade adequada. Esses testes não devem exigir que o código seja empacotado ou implantado |
| prepare-package | executa todas as operações necessárias para preparar um pacote antes da empacotamento atual. Isso geralmente resulta em uma versão processada e desempacotada do pacote. |
| package | pega o código compilado e o empacota em seu formato distribuível, como um JAR. |
| pre-integration-test | executa as ações necessárias antes que os testes de integração sejam executados. Isso pode envolver coisas como a configuração do ambiente necessário |
| integration-test | processa e implanta o pacote, se necessário, em um ambiente onde os testes de integração podem ser executados |
| post-integration-test | executa as ações necessárias após a execução dos testes de integração. Isso pode incluir a limpeza do meio ambiente |
| verify | executa todas as verificações para verificar se o pacote é válido e atende aos critérios de qualidade |
| install | instala 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 |
Ciclo de Vida Site
| Fase | Descrição |
|---|---|
| pre-site | executa processos necessários antes da geração real do local do projeto |
| site | gera a documentação do site do projeto |
| post-site | executa processos necessários para finalizar a geração do site e se preparar para a implantação do site |
| site-deploy | implanta a documentação do site gerada no servidor da web especificado |