SlideShare uma empresa Scribd logo
1 de 22
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

Mais conteúdo relacionado

Mais procurados (20)

Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
 
Maven
MavenMaven
Maven
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Automatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com JenkinsAutomatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com Jenkins
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Maven - Aula 06
Maven  - Aula 06Maven  - Aula 06
Maven - Aula 06
 
Maven - Aula 01
Maven - Aula 01Maven - Aula 01
Maven - Aula 01
 
Maven - Aula 05
Maven - Aula 05Maven - Aula 05
Maven - Aula 05
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Maven 2
Maven 2Maven 2
Maven 2
 
Maven - Aula 02
Maven - Aula 02Maven - Aula 02
Maven - Aula 02
 
Maven - Aula 04
Maven  - Aula 04Maven  - Aula 04
Maven - Aula 04
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
 
Apache maven
Apache mavenApache maven
Apache maven
 
Introdução ao Flyway
Introdução ao FlywayIntrodução ao Flyway
Introdução ao Flyway
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao Jenkins
 
Maven - Aula 03
Maven - Aula 03Maven - Aula 03
Maven - Aula 03
 

Destaque

Instalação Apache Tomcat
Instalação Apache TomcatInstalação Apache Tomcat
Instalação Apache TomcatOscar
 
Revisao Geral
Revisao GeralRevisao Geral
Revisao GeralOscar
 
Apache Wicket @ JustJava 2008
Apache Wicket @ JustJava 2008Apache Wicket @ JustJava 2008
Apache Wicket @ JustJava 2008Bruno Borges
 
Apache solr: como, quando e onde
Apache solr: como, quando e ondeApache solr: como, quando e onde
Apache solr: como, quando e ondePedro Rocha
 
Gestão da informação com apache solr e drupal
Gestão da informação com apache solr e drupalGestão da informação com apache solr e drupal
Gestão da informação com apache solr e drupalPedro Rocha
 
AULA classificação facetada
AULA classificação facetadaAULA classificação facetada
AULA classificação facetadaHumberto Silva
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @MovileEiti Kimura
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso PráticoEiti Kimura
 
Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...
Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...
Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...Daniel Ribeiro dos Santos
 

Destaque (11)

Instalação Apache Tomcat
Instalação Apache TomcatInstalação Apache Tomcat
Instalação Apache Tomcat
 
Revisao Geral
Revisao GeralRevisao Geral
Revisao Geral
 
Apache Wicket @ JustJava 2008
Apache Wicket @ JustJava 2008Apache Wicket @ JustJava 2008
Apache Wicket @ JustJava 2008
 
Introdução Wicket
Introdução WicketIntrodução Wicket
Introdução Wicket
 
Apache solr: como, quando e onde
Apache solr: como, quando e ondeApache solr: como, quando e onde
Apache solr: como, quando e onde
 
Gestão da informação com apache solr e drupal
Gestão da informação com apache solr e drupalGestão da informação com apache solr e drupal
Gestão da informação com apache solr e drupal
 
AULA classificação facetada
AULA classificação facetadaAULA classificação facetada
AULA classificação facetada
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @Movile
 
Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso Prático
 
Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...
Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...
Sistemas de classificação bibliográfica [perspectivas da biblioteconomia cont...
 

Semelhante a Apresentacao de Introdução ao Apache Maven

Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com MavenEdgar Dantas
 
Quick intro to Apache Maven
Quick intro to Apache MavenQuick intro to Apache Maven
Quick intro to Apache MavenInformantTalks
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: IntroduçãoJugVale
 
Build Automation Evolved
Build Automation EvolvedBuild Automation Evolved
Build Automation EvolvedMarcelo Diniz
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do MavenAllan Alves
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Javalucascsoliveira
 
GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!Bruno Borges
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com JenkinsAécio Pires
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 
DevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaDevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaSavanna Denega
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Marcus Carvalho
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Eliel Simoncelo
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureDr. Spock
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 

Semelhante a Apresentacao de Introdução ao Apache Maven (20)

Introdução a projetos baseados em apache maven
Introdução a projetos baseados em apache mavenIntrodução a projetos baseados em apache maven
Introdução a projetos baseados em apache maven
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com Maven
 
Quick intro to Apache Maven
Quick intro to Apache MavenQuick intro to Apache Maven
Quick intro to Apache Maven
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
Introdução ao Maven
Introdução ao MavenIntrodução ao Maven
Introdução ao Maven
 
Maven
MavenMaven
Maven
 
Build Automation Evolved
Build Automation EvolvedBuild Automation Evolved
Build Automation Evolved
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do Maven
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
 
Jboss tutorial
Jboss tutorialJboss tutorial
Jboss tutorial
 
GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
DevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaDevOps na prática - Savanna Denega
DevOps na prática - Savanna Denega
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 

Mais de Régis Eduardo Weizenmann Gregol

Mais de Régis Eduardo Weizenmann Gregol (6)

Introdução as práticas de desenvolvimento web com design responsivo
Introdução as práticas de desenvolvimento web com design responsivoIntrodução as práticas de desenvolvimento web com design responsivo
Introdução as práticas de desenvolvimento web com design responsivo
 
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações WebRecursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
 
INCLUSÃO DIGITAL E SOFTWARES DE ACESSIBILIDADE
INCLUSÃO DIGITAL E SOFTWARES DE ACESSIBILIDADEINCLUSÃO DIGITAL E SOFTWARES DE ACESSIBILIDADE
INCLUSÃO DIGITAL E SOFTWARES DE ACESSIBILIDADE
 
Apresentação sobre JRuby
Apresentação sobre JRubyApresentação sobre JRuby
Apresentação sobre JRuby
 
Oficial
OficialOficial
Oficial
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
 

Apresentacao de Introdução ao Apache Maven

  • 1. Introdução ao Apache Maven 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 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;
  • 5. 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
  • 6. 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 .
  • 7. 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
  • 8. 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”
  • 9. Repositório Maven - Encontra-se no endereço: http://mvnrepository.com - Repositório de dependências para projetos Maven.
  • 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 Plugin no Eclipse Help → Eclipse Marketplace
  • 13. 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
  • 14. Criando um projeto Web no Eclipse New → Other → Maven Project
  • 15. Criando um projeto Desktop New → Other → Maven Project
  • 16. Criando um projeto EJB New → Other → Maven Project http://maven.40175.n5.nabble.com/generating-a-project-for-ejb3-td100610.html
  • 17. 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/
  • 18. Criando um projeto web no Netbeans
  • 19. Criando um projeto Desktop no Netbeans
  • 20. Criando um projeto EJB 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