Edgar Dantas 
http://edgardantas.blogspot.com.br/
Maven é uma ferramenta para construir, 
gerenciar e implantar projetos Java
Objetivos 
● Tornar o processo de construção fácil 
● Fornecer um sistema de construção uniforme : project 
object model (POM) 
● Prover informações mais claras sobre o projeto 
● Diretrizes para as melhores práticas de 
desenvolvimento 
● Fácil atualização de componentes (Dependências)
Arquivo de configuração (POM) 
Efetivamente responde aos questionamentos; 
O que, Como e Onde
Dependência 
● Uma das características mais importantes do Maven é 
o gerenciamento de dependência. 
● Com repositório central que cresce cada vez mais, 
praticamente podemos encontrar qualquer componente 
que o nosso projeto dependa (54.430 artefatos). 
● Basta informar a dependência no arquivo de 
configuração e o sistema se encarrega de verificar a 
compatibilidade e baixar as libs. 
http://search.maven.org
Projeto padrão => Arquetipo
Preparando o Ambiente 
● Baixar 
http://maven.apache.org/download.cgi 
● Variáveis de ambiente 
JAVA_HOME = <path para jdk 1.5 ou superior> 
M2_HOME = <path para diretório do Maven> 
M2 = %M2_HOME%bin 
MAVEN_OPTS (Opcional) = -Xmx512m ... 
Java no PATH = %JAVA_HOME%bin 
Maven no PATH = %M2% 
● Teste do ambiente 
java -version 
mvn -v
Plugin para o Eclipse 
http://www.eclipse.org/m2e/ 
● É recomendado que se use a versão instalada no 
lugar da que vem embarcada no Plugin.
Arquetipos Maven 
● maven-archetype-quickstart 
Projeto java simples 
● maven-archetype-webapp 
Projeto container web java (Plugin Jetty embarcado) 
Existem vários outros arquetipos que podem ser 
facilmente pesquisados pelo plugin do eclipse
Criando um projeto 
Linha de Comando: 
mvn archetype:generate 
-DgroupId=br.edu.ifrn.tads 
-DartifactId=mteste 
-DarchetypeArtifactId=maven-archetype-webapp 
-DinteractiveMode=false 
Sobre os parâmetros: 
archetype:generate : plugin:objetivo 
groupId : grupo (ideia de pacotes do 
java) 
artifacctId : id do projeto 
archetypeArtifactId : id do arquetipo
Sobre o código gerado 
Princípio básico do Maven “Convenção sobre Configuração” 
● Código fonte em ${basedir}/src/main/java 
● Recursos em ${basedir}/src/main/resources. 
● Testes em ${basedir}/src/test, 
● Projeto produz JAR 
● Compilar para ${basedir}/target/classes e cria um dstribuível JAR 
em ${basedir}/target.
Configuração de plugin necessária para projeto Web
Projeto de Exemplo 
● Para facilitar a compreensão do arquivo de 
configuração, foi criado um projeto de 
exemplo que esta hospedado no GitHub 
https://github.com/edgardantas/webapp-maven-jetty
Construindo / Instalando 
● Compilação e instalação 
mvn install 
● Instação limpa 
mvn clean install 
● Executar um servidor web 
mvn jetty:run
Acrescentar JAR ao repositório 
A maior parte das bibliotecas livres estão nos repositórios 
do maven, contudo, para os casos que não existe, os 
JARs podem ser adcionados ao repositório local 
mvn install:install-file 
-Dfile=sqljdbc4.jar 
-DgroupId=com.microsoft.sqlserver 
-DartifactId=sqljdbc4 
-Dversion=3.0 
-Dpackaging=jar
Livros grátis (Sonatype) 
http://www.sonatype.com/Support/Books/
Referência 
● http://maven.apache.org/index.html 
● http://www.sonatype.com/Support/Books/ 
● http://blog.caelum.com.br/processo-de-build-com-o-maven/

Projetos Java com Maven

  • 1.
  • 2.
    Maven é umaferramenta para construir, gerenciar e implantar projetos Java
  • 3.
    Objetivos ● Tornaro processo de construção fácil ● Fornecer um sistema de construção uniforme : project object model (POM) ● Prover informações mais claras sobre o projeto ● Diretrizes para as melhores práticas de desenvolvimento ● Fácil atualização de componentes (Dependências)
  • 5.
    Arquivo de configuração(POM) Efetivamente responde aos questionamentos; O que, Como e Onde
  • 6.
    Dependência ● Umadas características mais importantes do Maven é o gerenciamento de dependência. ● Com repositório central que cresce cada vez mais, praticamente podemos encontrar qualquer componente que o nosso projeto dependa (54.430 artefatos). ● Basta informar a dependência no arquivo de configuração e o sistema se encarrega de verificar a compatibilidade e baixar as libs. http://search.maven.org
  • 7.
  • 8.
    Preparando o Ambiente ● Baixar http://maven.apache.org/download.cgi ● Variáveis de ambiente JAVA_HOME = <path para jdk 1.5 ou superior> M2_HOME = <path para diretório do Maven> M2 = %M2_HOME%bin MAVEN_OPTS (Opcional) = -Xmx512m ... Java no PATH = %JAVA_HOME%bin Maven no PATH = %M2% ● Teste do ambiente java -version mvn -v
  • 9.
    Plugin para oEclipse http://www.eclipse.org/m2e/ ● É recomendado que se use a versão instalada no lugar da que vem embarcada no Plugin.
  • 10.
    Arquetipos Maven ●maven-archetype-quickstart Projeto java simples ● maven-archetype-webapp Projeto container web java (Plugin Jetty embarcado) Existem vários outros arquetipos que podem ser facilmente pesquisados pelo plugin do eclipse
  • 11.
    Criando um projeto Linha de Comando: mvn archetype:generate -DgroupId=br.edu.ifrn.tads -DartifactId=mteste -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false Sobre os parâmetros: archetype:generate : plugin:objetivo groupId : grupo (ideia de pacotes do java) artifacctId : id do projeto archetypeArtifactId : id do arquetipo
  • 12.
    Sobre o códigogerado Princípio básico do Maven “Convenção sobre Configuração” ● Código fonte em ${basedir}/src/main/java ● Recursos em ${basedir}/src/main/resources. ● Testes em ${basedir}/src/test, ● Projeto produz JAR ● Compilar para ${basedir}/target/classes e cria um dstribuível JAR em ${basedir}/target.
  • 13.
    Configuração de pluginnecessária para projeto Web
  • 14.
    Projeto de Exemplo ● Para facilitar a compreensão do arquivo de configuração, foi criado um projeto de exemplo que esta hospedado no GitHub https://github.com/edgardantas/webapp-maven-jetty
  • 15.
    Construindo / Instalando ● Compilação e instalação mvn install ● Instação limpa mvn clean install ● Executar um servidor web mvn jetty:run
  • 16.
    Acrescentar JAR aorepositório A maior parte das bibliotecas livres estão nos repositórios do maven, contudo, para os casos que não existe, os JARs podem ser adcionados ao repositório local mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar
  • 17.
    Livros grátis (Sonatype) http://www.sonatype.com/Support/Books/
  • 18.
    Referência ● http://maven.apache.org/index.html ● http://www.sonatype.com/Support/Books/ ● http://blog.caelum.com.br/processo-de-build-com-o-maven/