Plugin m2eclipse
Autor: Fabrício Souza | Publicado: 2013-03-30T06:41:00-07:00



Eu recebo dezenas de visitas diárias, voltadas para busca de informações sobre maven, como por exemplo para acessar o post Criando um projeto Maven no Linux . Realmente, trabalhar com desenvolvimento utilizando maven para gerenciar os diversos archetypes e dependências que os projetos utilizam pode significar:

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;

E muitas outras vantagens. Um excelente plugin do maven para eclipse é o m2eclipse, abaixo segue um pequeno tutorial de como instalá-lo e alguns toques sobre sua utilização.

Instalando o plugin m2eclipse&nbsp;

Acesse o menu Help &gt; 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 &gt; New &gt; Other
Selecione a pasta Maven &gt; 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&nbsp;

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.&nbsp;

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

Supondo que eu esteja desenvolvendo um projeto que está na versão 2.4.21 e faça a correção de um bug, vou gerar então a versão 2.4.22; logo após insiro uma nova tela de cadastro, subo a versão para 2.5.0 e assim sucessivamente. 

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&nbsp; 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 &gt; Update Project&nbsp;

Aguarde que o projeto será reconfigurado. Com essas informações já é possível criar um projeto&nbsp; maven à partir do m2e.