Para que serve
O Maven é utilizado para gerenciar "builds" de projetos Java. Com ele é possível configurar um ambiente de desenvolvimento padronizado seguindo boas práticas, permitindo compilação, gerência de dependências e distribuição de uma aplicação editando apenas um arquivo e utilizando conceitos de convenção sobre configuração.
Em que situação o tema é útil
A utilização do Maven possibilita um ganho de qualidade e padronização em projetos. Rotinas como a criação da estrutura do projeto, compilação e distribuição são pré-definidas automaticamente, liberando o desenvolvedor para trabalhar na aplicação em si e não na configuração do ambiente.
Introdução ao Apache Maven
O arquivo pom.xml (Project Object Model) é considerado o coração de um projeto Maven. Com a configuração de poucos descritores é possível gerenciar dependências, centralizar documentação sobre o projeto e principalmente compilar e distribuir uma aplicação. Contando ainda com o recurso de archetypes através do qual é possível criar inúmeros tipos de aplicações diretamente pelo Maven de forma simples e rápida.
O Maven possui funcionalidades similares ao mais conhecido Apache Ant, mas utiliza um mecanismo de configuração declarativo e baseado no conceito de convenção ao invés de configuração.
Simplificando a criação e distribuição de projetos
Iniciar um novo projeto do zero não precisa ser necessariamente uma tarefa complicada e tediosa. Pensando nisso o Maven conta com um recurso extremamente útil, chamado archetype. Este recurso permite criar toda a estrutura de um projeto automaticamente.
Para isso, existem vários tipos de archetypes disponíveis, entre eles:
maven-archetype-webapp: cria a estrutura de uma aplicação web básica;
maven-archetype-j2ee-simple: cria a estrutura de uma aplicação Java EE simples;
struts2-archetype-blank: cria a estrutura de uma aplicação Struts2 básica;
myfaces-archetype-helloworld: cria a estrutura de uma aplicação JSF utilizando MyFaces.
A lista completa de archetypes pode ser encontrada no link http://docs.codehaus.org/display/MAVENUSER/Archetypes+List.
Outra etapa essencial em qualquer projeto é sua distribuição. Sem uma padronização e automação por uma ferramenta como Ant ou Maven, este processo torna-se repetitivo, tedioso e sujeito a falhas.
Através do Maven o processo de empacotamento de uma aplicação se restringe a apenas uma linha de comando: mvn package, que se encarrega de criar o arquivo de distribuição do seu projeto (por exemplo, .jar, .war ou .ear).
Fontes:
http://www.devmedia.com.br/gerenciando-projetos-com-maven/10823