Maven 🧰

O Maven é uma ferramenta de automação de compilação utilizada principalmente em projetos Java. Foi criada pela Apache Software Foundation no ano de 2002 e é uma das ferramentas mais utilizadas para construir projetos Java. O Maven permite que você compile, teste, empacote, instale e implante projetos. Ele também fornece maneiras de gerenciar dependências e configurações de projeto.

Principais conceitos 📚

Para automatizar a construção de um projeto, o Maven utiliza um conceito de ciclo de vida. Um ciclo de vida é uma sequência de fases que são executadas em ordem a fim de construir um projeto. Cada fase é responsável pela execução de uma ou mais tarefas específica.

O principais ciclos de vida com suas respectivas fases no Maven são: default, clean e site.

  • O ciclo de vida default compreende as fases: validate, compile, test, package, verify, install e deploy.
  • Já o ciclo de vida clean inclui as fases pre-clean, clean e post-clean.
  • Finalmente, o ciclo de vida site inclui as fases pre-site, site e post-site.

A Figura 1 a seguir mostra um mapa conceitual sobre os ciclos de vidas e as fases do Maven.

Maven
Figura 1 - Mapa conceitual sobre os ciclos de vidas e as fases do Maven

O ciclo de default é o mais utilizado e é o que será abordado neste material.

  • validade: valida o projeto, como por exemplo, verificar se os recursos necessários estão disponíveis.
  • compile: compila o código fonte do projeto.
  • test: executa os testes unitários do projeto.
  • package: empacota o código compilado em um formato específico, como por exemplo, um JAR (Java Archive) ou WAR (Web Archive).
  • verify: executa uma análise de qualidade no projeto, como por exemplo, inspeções de código, teste de integração e cobertura.
  • install: instala o pacote no repositório local, para que ele possa ser utilizado como dependência em outros projetos.
  • deploy: implanta o projeto.

Cada fase pode utilizar um ou mais plugins. Um plugin do Maven adiciona funcionalidades na fase em que é executado. Por exemplo, o plugin maven-pmd-plugin adiciona a funcionalidade de análise estática de código na fase verify do ciclo de vida default

Um plugin pode ter um conjunto de goals. Um goal é uma tarefa específica que um plugin executa. Por exemplo, o plugin maven-pmd-plugin tem o goal pmd que executa a análise estática de código. Porém, esse mesmo plugin possui outros goals como check e cpd. Todos esses goals podem ser executados na fase verify do ciclo de vida default.

Configuração 🖥️

Para configurar o Maven em um projeto, é necessário criar um arquivo pom.xml (Projeto Object Model) na raiz do projeto. O arquivo pom.xml é um arquivo de configuração do Maven que contém informações sobre o projeto, como por exemplo, o nome do projeto, a versão, a descrição, as dependências, os plugins, entre outras informações.

Rodrigo Prestes Machado
CC BY 4.0 DEED

Copyright © 2024 RPM Hub. Distributed by CC-BY-4.0 license.