domingo, 20 de novembro de 2011

Maven



No Util.runNerdTalks(5) falamos sobre Maven.



O Maven, é uma ferramenta para gerenciamento e automação de projetos em Java. Ele é todo baseado em XML, e muito similar ao Ant.





Download

Para fazer o download entre na página oficial, ou baixe via apt-get.



Após instalar verifique via linha de comando se está funcionando:

mvn --version



Aparecerá algo parecido como:







Exemplo Básico

O arquivo básico de configuração é o pom.xml. O pom vem de Project Object Model (POM).



Exemplo básico:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.runnerdtalks</groupId>
<artifactId>teste</artifactId>
<version>1.0</version>
</project>

Sendo que:
- modelVersion, é a identificação da versão do arquivo pom.xml (padrão 4.0.0)
- groupId - identificador da empresa / site
- artifactId - nome do projeto
- version - versão do projeto




Criando um projeto novo

Você não precisa digitar todo o xml caso esteja iniciando um projeto novo.



Você pode digitar por exemplo:


mvn archetype:create -DgroupId=com.runnerdtalks -DartifactId=teste -DarchetypeArtifactId=maven-archetype-webapp

Ele construirá um projeto tipo webapp



Ou ainda:

mvn archetype:generate

Assim você escolherá passo a passo as variáveis do projeto.





Adicionando dependências

Para adicionar uma dependência (um jar como o do jUnit por exemplo) a esse projeto, adiciona-se a seguinte estrutura:

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

Nesse exemplo, adicionamos o jUnit versão 3.8.1.



O Maven baixará automaticamente do seu repositório, o http://mvnrepository.com/ para sua máquina local, colocando-o no diretório .m2/repository (No Unix/Mac OS X pode-se encontrar no ~/.m2 e no Windows – C:\Documents and Settings\username\.m2 )



O .m2/repository é um repositório local, onde será armazenado todos os seus downloads. Assim se você tiver outro projeto que utilizará por exemplo o jUnit 3.8.1, o Maven não precisará baixá-lo novamente.



Mais um exemplo. imagine que você queira usar o hibernate-annotations versão 3.5.6-final. Adicionaremos em nosso pom.xml:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>



Mas nesse caso o hibernate-annotations também tem suas dependências, como:

org.hibernate.hibernate-core

org.hibernate.hibernate-commons-annotations

org.hibernate.javax.persistence.hibernate-jpa-2.0-api

Assim, além do próprio hibernate-annotations, ele baixará outros jars.



Principais comandos

A partir do pom.xml (que estará na raiz do seu projeto) você digita na linha de comando:

mvn clean - apaga o diretório target, e os .class

mvn compile - compila seu projeto

mvn test - roda os testes unitáros do projeto

mvn install - instala seu projeto (jar/war/etc) no repositório local

mvn deploy - envia o projeto (jar/war/etc) para um servidor remoto





Plugins

O Maven também possui vários plugins (veja mais aqui).

Um exemplo é o plugin para transformar seu projeto em um projeto Eclipse (gerando o .project)



Outros comandos
Alguns comandos interessantes:
mvn dependency:tree - Mostra a dependencia de todos os jars existentes do seu projeto
mvn eclipse:eclipse - Gera o projeto no eclipse


Projeto no Eclipse
Como o Maven já construiu o seu projeto para o Eclipse (após rodar o mvn eclipse:eclipse), você pode simplesmente importar o projeto:




Após isso não esqueça de entrar no "properties" do projeto e configurar a variável M2_REPO
Properties-->Java Build Path -->Add Variable..-->Configure Variables...-->New
Name: M2_REPO
Path: Local do ./m2/repository (No Unix/Mac OS X pode-se encontrar no ~/.m2 e no Windows – C:\Documents and Settings\username\.m2 )


Exemplo
https://github.com/AleUehara/sample-maven

Blog da Caelum - http://blog.caelum.com.br/processo-de-build-com-o-maven/

Nenhum comentário:

Postar um comentário