Apache Maven: POM, ciclo de vida e dependências


Data de Publicação:

Atualizado:


Artigos > Apache Maven: POM, ciclo de vida e dependências

Maven em 2026: princípios e precauções

Em resumo: o Maven é uma ferramenta baseada em convenções para gerir a build de projetos Java. O POM descreve coordenadas, dependências, plugins e configurações; o ciclo de vida torna repetíveis a compilação, os testes, o empacotamento, a verificação e a publicação de artefactos.

O que você aprenderá

  • O que o Maven gere e o que continua a pertencer ao repositório de código ou à configuração de CI.
  • Como se relacionam coordenadas Maven, repositórios, plugins, fases e âmbitos das dependências.
  • O papel da resolução de dependências no processo completo de build.

Destinatários: programadores Java que estão a avaliar o Maven ou precisam de compreender um ficheiro pom.xml existente.

Atualização de 2026: utilize o Maven Wrapper, fixe as versões dos plugins, proteja as credenciais dos repositórios e verifique o POM efetivo na CI. Os exemplos explicam os princípios; confirme na documentação oficial a compatibilidade entre os plugins e o JDK.

Nota de segurança: os comandos e exemplos de configuração do artigo original não foram novamente executados num ambiente de produção atual. Antes de os aplicar, confirme as versões suportadas, as cópias de segurança, os controlos de acesso e o procedimento de reversão num ambiente de teste isolado.

Fontes primárias oficiais

Visão geral

O Apache Maven, normalmente designado apenas por Maven, coordena a build de um projeto Java através do Project Object Model (POM), de ciclos de vida padronizados e de plugins. Esta visão geral explica as operações que ficam ocultas por trás de um único comando mvn.

Índice

  1. O que é Maven?
  2. O que o Maven gere
  3. Conclusão

1. O que é Maven?

O Maven é uma ferramenta de build e gestão de projetos. Para distinguir compilação, empacotamento e build completa, consulte também as etapas de uma build Java.

Uma build Maven pode coordenar, entre outras, as seguintes tarefas:

  • resolver dependências JAR;
  • compilar o código e executar os testes;
  • definir os diretórios de saída;
  • gerar artefactos JAR ou WAR.

A visão geral oficial do Maven resume assim os objetivos do projeto:

Maven’s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal, Maven deals with several areas of concern:

  • Making the build process easy
  • Providing a uniform build system
  • Providing quality project information
  • Encouraging better development practices

Na prática, o Maven oferece um modelo convencional e repetível para descrever e executar a build de um projeto.

2. O que o Maven gere

As funcionalidades seguintes tornam a build reproduzível e mais simples de manter.

2-1. Fases da build

As fases do ciclo de vida invocam os plugins configurados por uma ordem definida. Entre os comandos mais comuns:

  • mvn test compila o código e executa os testes;
  • mvn clean remove os resultados gerados;
  • mvn package cria o artefacto configurado, por exemplo um JAR ou um WAR.

2-2. Resolução de dependências

Uma dependência declarada pode, por sua vez, exigir outros artefactos. O Maven lê o respetivo POM e resolve essas dependências transitivas de acordo com o âmbito, a opcionalidade, as exclusões e as regras de seleção de versões.

O guia sobre a resolução de dependências transitivas descreve o fluxo entre os POM e os repositórios.

2-3. Metadados e âmbito das dependências

Uma declaração especifica coordenadas e versão, não apenas o nome de um JAR. O âmbito indica onde o artefacto é necessário, por exemplo na compilação, em runtime ou nos testes.

O ficheiro pom.xml regista também os plugins e as definições do projeto. A build torna-se portátil, mas a reprodução fiel exige ainda repositórios controlados, versões dos plugins fixas, um JDK suportado e configurações externas coerentes.

3. Conclusão

O Maven descreve o projeto no POM e executa, através de plugins, um ciclo de vida padronizado. Resolve dependências e coordena compilação, testes, empacotamento, verificação e publicação; o comportamento efetivo depende do POM resultante e da fase pedida.

■INFORMATION

Artigos


■PROFILE

Perfil


■Contacto

Contacto