sexta-feira, 28 de agosto de 2009

Maven primeiras noções

O que é o Maven?



É um sistema de gerenciamento de dependências e build de projetos java, seu conceito é parecido com o Ant, porem o Maven tenta facilitar mais a criação de tarefas, pois exitem varias tareas prontas e pré-definidas, onde essa pré-definição acaba tornando todos os projetos que utilizam Maven com sistema de pacotes e organização padrão. Suas principais características seguem são:



Gerencia de dependências



Capaz de analisar as dependias do projeto e fazer o donwload dos jars do servidor local ou web, essa propriedade é bem parecida dom o apt-get do Debian; foi implementada para que o próprio projeto encontre e baixe suas dependências quando necessário, sem a necessidade de passar varios jar's de dependência do projeto, facilitando tambem a atualização das dependências quando necessário, ex: no projeto era utilizado a versão 1.2 do log4j e passou a ser utilizado a versão 1.4, o maven irá verificar que essa dependências foi atualizada e irá baixar automaticamente do servidor local ou web a nova versão utilizada do log4j e configurar novamente o sistema, garantindo assim que o projeto sempre esteja integro com suas dependias



Plugins ou "Tarefas pré-definidas"




O Maven possui uma caracteristica onde é possivel baixar varios plungins pré-definidos, os plungins do Maven são similares a tarefas do Ant, no entando já estão todos prontos. Para explicar melhor vou citar o seguinte exemplo, vamos supor que você esta configurando o sue projeto no Ant, para isso você teria que criar no minimo as seguintes tarefas na mão (editando o build.xml com suas tags):



  • compilar o projeto
  • rodar os testes do projeto
  • processar os recursos do projeto(imgs etc...)
  • configurar o classpah relativo
  • gerar o jar no diretorio que você mesmo especificou.


No Maven isso tudo já esta pronto, porque já foram desenvolvidos plungins que fazem isso, pois, são tarefas que são básicas para criação de um projeto, logo para fazer a mesma coisa no Maven bastaria fazer o seguinte:



mvn package


O comando acima é um plugin desenvolvido para o Maven que já incorpora e utiliza diversos outros plugins como o de compilação, teste, gerencia de recursos e todos os outras atividades citadas acima para a configuração no Ant.

Nenhum comentário: