Você está na página 1de 6

Maven

Maven é uma ferramenta de gerenciamento e


compreensão de projetos que fornece aos
desenvolvedores uma estrutura completa do ciclo de
vida de construção. Resumindo, o Maven simplifica e
padroniza o processo de construção do projeto. Ele lida
perfeitamente com compilação, distribuição,
documentação, colaboração em equipe e outras tarefas.

A equipe de desenvolvimento pode automatizar a


infraestrutura de construção do projeto quase
rapidamente, pois o Maven usa um layout de diretório
padrão e um ciclo de vida de construção padrão.

No caso de ambiente com múltiplas equipes de


desenvolvimento, o Maven pode configurar a forma de
trabalhar de acordo com os padrões em um tempo
muito curto.

Como a maioria das configurações do projeto são


simples e reutilizáveis, o Maven facilita a vida do
desenvolvedor ao criar relatórios, verificações,
construir e testar configurações de automação.
O Maven aumenta a capacidade de reutilização e cuida
da maioria das tarefas relacionadas à construção.
Uma definição mais formal de Apache Maven: Maven
é uma ferramenta de gerenciamento de projetos que
abrange um modelo de objeto de projeto, um conjunto
de padrões, um ciclo de vida de projeto, um sistema de
gerenciamento de dependências e lógica para executar
objetivos de plug-ins em fases definidas de um ciclo de
vida. Ao usar o Maven, você descreve seu projeto
usando um modelo de objeto de projeto bem definido,
o Maven pode então aplicar lógica transversal a partir
de um conjunto de plug-ins compartilhados (ou
personalizados)

Construções baseadas em modelo: o Maven é capaz de


construir qualquer número de projetos em tipos de
saída predefinidos, como jar, war, metadados. • Site
coerente com informações do projeto: Usando os
mesmos metadados do processo de construção, o
maven é capaz de gerar um site e um PDF incluindo a
documentação completa. • Gerenciamento de
lançamento e publicação de distribuição: Sem
configuração adicional, o maven se integrará ao seu
sistema de controle de origem, como o CVS, e
gerenciará o lançamento de um projeto. •
Compatibilidade com versões anteriores: você pode
facilmente portar vários módulos de um projeto para o
Maven 3 a partir de versões mais antigas do Maven.
Ele também pode suportar versões mais antigas. •
Versionamento pai automático: Não há necessidade de
especificar o pai no submódulo para manutenção. •
Construções paralelas: analisa o gráfico de
dependências do projeto e permite construir módulos
de cronograma em paralelo. Usando isso, você pode
obter melhorias de desempenho de 20 a 50%. •
Melhores relatórios de erros e integridade: o Maven
melhorou os relatórios de erros e fornece um link para
a página wiki do Maven, onde você obterá uma
descrição completa do erro.

Objetivos do Maven O principal objetivo do Maven é


permitir que um desenvolvedor compreenda o estado
completo de um esforço de desenvolvimento no menor
período de tempo. Para atingir esse objetivo, há
diversas áreas de preocupação com as quais o Maven
tenta lidar:
 Facilitando o processo de construção
 Fornecer um sistema de construção uniforme
 Fornecer informações de projeto de qualidade
 Fornecer diretrizes para o desenvolvimento de
melhores práticas
 Permitir migração transparente para novos recursos

Construções baseadas em modelo


O Maven é capaz de construir qualquer número de
projetos em tipos de saída predefinidos, como JAR,
WAR ou distribuição com base em metadados sobre o
projeto, sem qualquer necessidade de fazer scripts na
maioria dos casos.
Site coerente de informações do projeto
Usando os mesmos metadados do processo de
construção, o Maven é capaz de gerar um site ou PDF
incluindo qualquer documentação que você queira
adicionar, e adiciona a isso relatórios padrão sobre o
estado de desenvolvimento do projeto. Exemplos
dessas informações podem ser vistos na parte inferior
do
Gerenciamento de lançamento e publicação de
distribuição
Sem muita configuração adicional, o Maven se
integrará ao seu sistema de controle de origem, como o
CVS, e gerenciará o lançamento de um projeto com
base em uma determinada tag. Ele também pode
publicar isso em um local de distribuição para uso por
outros projetos. O Maven é capaz de publicar saídas
individuais, como um JAR, um arquivo incluindo
outras dependências e documentação, ou como uma
distribuição fonte.
Gerenciamento de dependências
Maven incentiva o uso de um repositório central de
JARs e outras dependências. O Maven vem com um
mecanismo que os clientes do seu projeto podem usar
para baixar quaisquer JARs necessários para construir
seu projeto a partir de um repositório JAR central,
muito parecido com o CPAN do Perl. Isso permite que
os usuários do Maven reutilizem JARs entre projetos e
incentiva a comunicação entre projetos para garantir
que os problemas de compatibilidade com versões
anteriores sejam resolvidos.

Integração Gump
Integração com Gump. Para quem não conhece o
Gump é uma ferramenta utilizada no Apache para
ajudar os projetos a manter a compatibilidade
retroativa com seus clientes. Se você tiver um descritor
de projeto Maven, poderá participar facilmente de
compilações noturnas do Gump que ajudarão seu
projeto a ficar atualizado sobre o impacto que suas
mudanças realmente têm na comunidade de
desenvolvedores Java. Estamos trabalhando em nossa
própria ferramenta de construção massiva, mas a
integração com o Gump não tem nenhum custo para os
usuários do Maven.

Você também pode gostar