Introdução ao Apache Maven



             Régis Eduardo Weizenmann Gregol
             regiseduardogregol@gmail.com
Roteiro de Apresentação

- Introdução ao Apache Maven;
- Vantagens da utilização do Maven;
- Instalação do Maven (Ubuntu & Windows);
- Ciclos de vida do Maven;
- O arquivo de configuração pom.xml;
–   Utilizando plugin no Eclipse;
–   Utilizando plugin no Netbeans;
- Criando projetos: Web, Desktop e EJB.
O que é?
- Apache Maven: é um software;
- Seu intuito é facilitar a criação de projetos Java;
- Fornece uma estrutura padrão de diretórios;
- Fornece orientações para boas práticas de desenvolvimento;
- Fornece informações sobre o projeto;
- Permite a migração para novos recursos;
- Gerencia as dependências do projeto.
Vantagens de utilizar o Maven

- Gerenciamento de dependências (Jars, Plugins, versão);
- Utilização de Plugins por exemplo: Tomcat para apps Web;
- Consistência: configurações no Pom.xml;
- Gera o site (documentação) do projeto contextualizando
informações úteis do projeto;
- Utilização de ciclos de vida;
- Qualidade: Maven incentiva a criação de testes unitários;
- Organização;
- Builds modulares, configurações de arquivo pai e filhos;
Instalando o Maven no Ubuntu

                         $ sudo apt-get install maven2
                                      ou
Faça download no site http://maven.apache.org/download.html versão 3 do maven
Instalando o Maven no Windows7

- Faça download no site http://maven.apache.org/download.html
- Descompacte arquivo .zip;
- Adicione a variável de ambiente PATH o caminho do apache-maven descompactado seguido
de “bin”. Exemplo:

                  C:Program Files (x86)Javaapache-maven-3.0.4bin
- Em alguns casos é necessário criar a variável de ambiente JAVA_HOME apontando para o
diretório de instalação do JDK .
Ciclos de vida do Maven
- Apartir do Maven 2 foi criado o conceito de ciclo de vida para construção de projetos;
- Ciclos de vida:
–   clean: Limpa o projeto, pasta target;
–   site: Cria a documentação do seu projeto local;
–   validate: Valida se o projeto está correto e todas as informações necessárias estão disponíveis;
–   compile: Compila o código fonte do projeto;
–   test: Testa o código fonte compilado;
–   package: Empacota o código compilado no seu formato de distribuição, ex: JAR, WAR, EJB;
–   integration-test: Processa e faz deploy dos pacotes em um ambiente de testes;
–   verify: Faz verificações de pacotes atendendo aos critérios de qualidade;
–   install: Instala pacotes no repositório local, para usar como dependência em outros projetos localmente;
–   deploy: Copia o pacote final para o repositório remoto para compartilhar com outros desenvolvedores e
    projeto




http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
Utilizando Maven

Criando um projeto:
$ mvn archetype:generate
-DgroupId=com.github.regiseduardogregol
-DartifactId=ProjetoMavenWeb -DarchetypeArtifactId=maven-
archetype-webapp -DinteractiveMode=false
“mvn clean” “mvn test” “mvn package” “mvn compile”
“mvn site” “mvn validate” “mvn integration-test”
“mvn verify” “mvn deploy” “mvn install”
Repositório Maven
- Encontra-se no endereço: http://mvnrepository.com
- Repositório de dependências para projetos Maven.
Adicionando dependência ao pom.xml
O pom.xml
                      Define as configurações do projeto
      Demonstra a versão de uso uma identifcação da
                    Representa do pom.xml
             Representa o nome do projeto criado
                           organização/grupo
          Representa a versão atual do projeto
                        ao qual o projeto pertence
   Representa o empacotamento do projeto
           Representa o nome do projeto
               Representa o endereço eletrônico
                           do projeto
                       Representa o encoding do projeto

  Onde são adicionadas as dependências
     Dependência JUnit para testes
Instalando o Plugin no Eclipse

       Help → Eclipse Marketplace
Opções do Plugin no Eclipse




                             Abre uma tela para
                          Abre uma tela uma tela para
                                   uma para
                         adicionar Abre dependência
                          adicionar um plugin
                               adicionar um novo módulo
                         Faz o download dos arquivos
                         FazJavaDoc para projeto
                                        ao
                             o download dosprojeto
                                           o arquivos
                          Atualiza as para oo Maven resolva
                            de anexo dependências
                               Permite que projeto
                                  do projeto
                              as dependencias entre projetos
                          Desabilita o plugin do Maven
                                   no mesmo workspace
                                     no projeto




*É possível fazer as mesmas configurações no pom.xml
Criando um projeto Web no Eclipse

         New → Other → Maven Project
Criando um projeto Desktop

    New → Other → Maven Project
Criando um projeto EJB

                      New → Other → Maven Project




http://maven.40175.n5.nabble.com/generating-a-project-for-ejb3-td100610.html
Utilizando o Maven no Netbeans

- O plugin já esta disponível desde a versão 6.7 do Netbeans;
- Maven 3 apartir da versão 7.0.x
- Download do Netbeans → http://netbeans.org/downloads/
Criando um projeto web no Netbeans
Criando um projeto Desktop no Netbeans
Criando um projeto EJB no Netbeans
Referências


- http://maven3tutorial.blogspot.com.br/
- http://maven.apache.org/
- http://felipemsantos.wordpress.com/category/java/maven2/
- http://blog.caelum.com.br/processo-de-build-com-o-maven/-
- http://k19.com.br/artigos/maven-na-pratica-parte-i-introducao
http://maven.apache.org/guides/introduction/introduction-to-
archetypes.html
Obrigado...




     Régis Eduardo Weizenmann Gregol
     regiseduardogregol@gmail.com

Apresentacao de Introdução ao Apache Maven

  • 1.
    Introdução ao ApacheMaven Régis Eduardo Weizenmann Gregol regiseduardogregol@gmail.com
  • 2.
    Roteiro de Apresentação -Introdução ao Apache Maven; - Vantagens da utilização do Maven; - Instalação do Maven (Ubuntu & Windows); - Ciclos de vida do Maven; - O arquivo de configuração pom.xml; – Utilizando plugin no Eclipse; – Utilizando plugin no Netbeans; - Criando projetos: Web, Desktop e EJB.
  • 3.
    O que é? -Apache Maven: é um software; - Seu intuito é facilitar a criação de projetos Java; - Fornece uma estrutura padrão de diretórios; - Fornece orientações para boas práticas de desenvolvimento; - Fornece informações sobre o projeto; - Permite a migração para novos recursos; - Gerencia as dependências do projeto.
  • 4.
    Vantagens de utilizaro Maven - Gerenciamento de dependências (Jars, Plugins, versão); - Utilização de Plugins por exemplo: Tomcat para apps Web; - Consistência: configurações no Pom.xml; - Gera o site (documentação) do projeto contextualizando informações úteis do projeto; - Utilização de ciclos de vida; - Qualidade: Maven incentiva a criação de testes unitários; - Organização; - Builds modulares, configurações de arquivo pai e filhos;
  • 5.
    Instalando o Mavenno Ubuntu $ sudo apt-get install maven2 ou Faça download no site http://maven.apache.org/download.html versão 3 do maven
  • 6.
    Instalando o Mavenno Windows7 - Faça download no site http://maven.apache.org/download.html - Descompacte arquivo .zip; - Adicione a variável de ambiente PATH o caminho do apache-maven descompactado seguido de “bin”. Exemplo: C:Program Files (x86)Javaapache-maven-3.0.4bin - Em alguns casos é necessário criar a variável de ambiente JAVA_HOME apontando para o diretório de instalação do JDK .
  • 7.
    Ciclos de vidado Maven - Apartir do Maven 2 foi criado o conceito de ciclo de vida para construção de projetos; - Ciclos de vida: – clean: Limpa o projeto, pasta target; – site: Cria a documentação do seu projeto local; – validate: Valida se o projeto está correto e todas as informações necessárias estão disponíveis; – compile: Compila o código fonte do projeto; – test: Testa o código fonte compilado; – package: Empacota o código compilado no seu formato de distribuição, ex: JAR, WAR, EJB; – integration-test: Processa e faz deploy dos pacotes em um ambiente de testes; – verify: Faz verificações de pacotes atendendo aos critérios de qualidade; – install: Instala pacotes no repositório local, para usar como dependência em outros projetos localmente; – deploy: Copia o pacote final para o repositório remoto para compartilhar com outros desenvolvedores e projeto http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
  • 8.
    Utilizando Maven Criando umprojeto: $ mvn archetype:generate -DgroupId=com.github.regiseduardogregol -DartifactId=ProjetoMavenWeb -DarchetypeArtifactId=maven- archetype-webapp -DinteractiveMode=false “mvn clean” “mvn test” “mvn package” “mvn compile” “mvn site” “mvn validate” “mvn integration-test” “mvn verify” “mvn deploy” “mvn install”
  • 9.
    Repositório Maven - Encontra-seno endereço: http://mvnrepository.com - Repositório de dependências para projetos Maven.
  • 10.
  • 11.
    O pom.xml Define as configurações do projeto Demonstra a versão de uso uma identifcação da Representa do pom.xml Representa o nome do projeto criado organização/grupo Representa a versão atual do projeto ao qual o projeto pertence Representa o empacotamento do projeto Representa o nome do projeto Representa o endereço eletrônico do projeto Representa o encoding do projeto Onde são adicionadas as dependências Dependência JUnit para testes
  • 12.
    Instalando o Pluginno Eclipse Help → Eclipse Marketplace
  • 13.
    Opções do Pluginno Eclipse Abre uma tela para Abre uma tela uma tela para uma para adicionar Abre dependência adicionar um plugin adicionar um novo módulo Faz o download dos arquivos FazJavaDoc para projeto ao o download dosprojeto o arquivos Atualiza as para oo Maven resolva de anexo dependências Permite que projeto do projeto as dependencias entre projetos Desabilita o plugin do Maven no mesmo workspace no projeto *É possível fazer as mesmas configurações no pom.xml
  • 14.
    Criando um projetoWeb no Eclipse New → Other → Maven Project
  • 15.
    Criando um projetoDesktop New → Other → Maven Project
  • 16.
    Criando um projetoEJB New → Other → Maven Project http://maven.40175.n5.nabble.com/generating-a-project-for-ejb3-td100610.html
  • 17.
    Utilizando o Mavenno Netbeans - O plugin já esta disponível desde a versão 6.7 do Netbeans; - Maven 3 apartir da versão 7.0.x - Download do Netbeans → http://netbeans.org/downloads/
  • 18.
    Criando um projetoweb no Netbeans
  • 19.
    Criando um projetoDesktop no Netbeans
  • 20.
    Criando um projetoEJB no Netbeans
  • 21.
    Referências - http://maven3tutorial.blogspot.com.br/ - http://maven.apache.org/ -http://felipemsantos.wordpress.com/category/java/maven2/ - http://blog.caelum.com.br/processo-de-build-com-o-maven/- - http://k19.com.br/artigos/maven-na-pratica-parte-i-introducao http://maven.apache.org/guides/introduction/introduction-to- archetypes.html
  • 22.
    Obrigado... Régis Eduardo Weizenmann Gregol regiseduardogregol@gmail.com