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
- Acesse o menu Help > Install new Software
- Em Work with clique no botão Add
- Insira os dados:
- 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
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 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
Aguarde que o projeto será reconfigurado. Com essas informações já é possível criar um projeto maven à partir do m2e.