- Repositórios de códigos mais enxutos, já que as libs NÃO estarão dentro do source, apenas suas referências. O maven baixa e agrega as libs no momento da compilação do projeto, neste caso ele será colocado dentro da pasta target;
- Mais eficiência ao remover conflitos entre versões de libs, através da utilização da tag exclusion dentro da tag dependency;
- Maior facilidade ao integrar projetos;
- Facilidade ao utilizar ferramentas de integração contínua, como o Hudson;
Instalando o plugin m2eclipse
- Acesse o menu Help > Install new Software
- Em Work with clique no botão Add
- Insira os dados:
- Name: m2eclipse
- Location: http://m2eclipse.sonatype.org/sites/m2e/
- Clique em OK
- Selecione o item m2eclipse no combo ao lado de Work with
- Marque o item Maven Integration for Eclipse
- Clique em Next
- Leia e aceite os termos de uso
- Siga confirmando até reiniciar o eclipse
Criando um projeto utilizando o plugin m2e
- Acesse o menu File > New > Other
- Selecione a pasta Maven > Maven Project
- Marque Create a Simple Project
- Clique em Next
Entendendo o painel Artifact
Group Id
O group id deve ser formado por um nome único, que diferencie o projeto de todos os outros já desenvolvidos. Costuma-se utilizar o domínio que o desenvolvedor definiu para o projeto + o grupo do próprio projeto, onde domínio é compreendido como o endereço web de propriedade da empresa desenvolvedora ou do próprio desenvolvedor. No meu caso eu utilizo o domínio do meu site fabriciojf.com para os meus projetos pessoais e o bemmelhor.com.br para os projetos da minha empresa.O detalhe é que o domínio deve ser escrito ao contrário, citando o exemplo do próprio projeto maven, o domínio da empresa é apache.org e o grupo do projeto é maven, sendo assim, o group id é:
Group Id: org.apache.maven
Artifact Id
É o nome utilizado para o projeto, o ideal é utilizar um nome sem caracteres estranhos ou no máximo um traço "-" para separar palavras, Ex: maven-project, hibernate-core, hibernate-annotations e ehcache.Version
É a versão atual do projeto, costuma-se utilizar a versão xx-SNAPSHOT para identificar aquela que está sendo desenvolvida no momento. Por exemplo, estou gerando a versão 0.5.6-SNAPSHOT do projeto com.fabriciojf.libtools (com.fabriciojf.libtools-0.5.6-SNAPSHOT), quando eu for distribuir esta versão ela ficará simplesmente com.fabriciojf.libtools-0.5.6 e a versão SNAPSHOT será a próxima em desenvolvimento, ex: com.fabriciojf.libtools-0.6.0-SNAPSHOT.Existem algumas formas para se controlar a versões de projetos, eu particularmente utilizo a seguinte:
X.Y.Z (1.0.5, 2.3.45, 0.12.22 ...) onde:
- X corresponde a mudanças que tornem o projeto incompatível
- Y corresponde a novas funcionalidades
- Z corresponde a correções de bugs
Em alguns casos pode-se acrescentar a revisão do repositório no momento do geração da versão,
ex: 1.7.13.56437
Packaging
É o tipo de distribuição do projeto, pode ser por exemplo um software para internet (war) ou um software desktop (jar) e etc.Name e Description
Como sugerido, informar nome e descrição do projeto.Após configurar os dados do artifact clique em Finish para criar o projeto fisicamente no diretório. O próximo passo é entender o arquivo pom.xml.
O arquivo pom.xml
Dentro do eclipse navegue através do Project Explorer ou Package Explorer, expanda o projeto criado e localize o arquivo pom.xml. Perceba que os dados configurados no momento da criação do projeto através do m2e estão dispostos nas respectivas tags. Desta forma o conteúdo do arquivo deverá estar parecido com:Um problema que pode acontecer quando se importa um projeto existente no workspace, é o projeto perder a referência das libs, desta forma quando você executa o comando Run As ele não encontra as dependências configuradas dentro do pom. Para solucionar este problema faça o seguinte:
- Dê um clique com o botão direito em cima do projeto;
- Localize Maven > Update Project