SlideShare uma empresa Scribd logo
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)
Projetos Java com Maven
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/

Mais conteúdo relacionado

PDF
Desenvolvimento de Módulos Divi Builder
PPTX
Maven em 10 minutos
PDF
React - Biblioteca Javascript para criação de UI
PDF
Java Web Fácil com VRaptor
KEY
Quick intro to Apache Maven
PDF
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
PDF
Google Web Toolkit
PDF
Testando uma aplicação AngularJS utilizando o Karma
Desenvolvimento de Módulos Divi Builder
Maven em 10 minutos
React - Biblioteca Javascript para criação de UI
Java Web Fácil com VRaptor
Quick intro to Apache Maven
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
Google Web Toolkit
Testando uma aplicação AngularJS utilizando o Karma

Mais procurados (20)

PPTX
Primeiros passos no Vue.js
PDF
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
PDF
Offline apps Using Ionic Framework and PouchDB
PDF
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
PDF
React - Introdução
PDF
Vue.js - o framework progressivo
PDF
Curso AngularJS - Parte 1
PPTX
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
PPTX
Vuejs Angularjs e Reactjs. Veja as diferenças de cada framework!
PPTX
Diego Narducci - React + Angular
PDF
Curso de ReactJS
PDF
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
PDF
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
PDF
React Native na globo.com
PPTX
Componentizando a Web com Polymer
PDF
Angular js
PDF
Lucas Mazza: Bower
PDF
Apresentação zend framework 2 parte 1
PPTX
Performance e otimização no wordpress
PDF
Mean Stack
Primeiros passos no Vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Offline apps Using Ionic Framework and PouchDB
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
React - Introdução
Vue.js - o framework progressivo
Curso AngularJS - Parte 1
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Vuejs Angularjs e Reactjs. Veja as diferenças de cada framework!
Diego Narducci - React + Angular
Curso de ReactJS
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
React Native na globo.com
Componentizando a Web com Polymer
Angular js
Lucas Mazza: Bower
Apresentação zend framework 2 parte 1
Performance e otimização no wordpress
Mean Stack
Anúncio

Destaque (6)

PDF
Introdução ao maven
PPTX
Apresentação maven
PPTX
Maven 3, Sonar e Hudson
PDF
PPTX
Validando Formulários com AngularJS
PPT
Maven Introduction
Introdução ao maven
Apresentação maven
Maven 3, Sonar e Hudson
Validando Formulários com AngularJS
Maven Introduction
Anúncio

Semelhante a Projetos Java com Maven (20)

PDF
Maven: Introdução
PDF
PPTX
Plugin Maven no Eclipse
PPTX
Apache maven
PDF
Apresentação maven
PDF
Maven - Aula 01
ODP
Apresentacao de Introdução ao Apache Maven
PPTX
Maven introdução Muito Rápida
PPTX
Maven e Nexus. O que são essas ferramentas?
PPTX
Gestão de Projetos: Introdução ao Apache Maven
PPTX
Gestão de Projectos: Apache Maven - Introdução
PPTX
Tutorial de instalação do Maven
PDF
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
PPTX
Introdução a projetos baseados em apache maven
PPTX
Gestão de Projectos: Apache Maven - Introdução
PDF
PDF
Maven - Aula 03
PDF
Maven na prática
PDF
Maven - Aula 04
Maven: Introdução
Plugin Maven no Eclipse
Apache maven
Apresentação maven
Maven - Aula 01
Apresentacao de Introdução ao Apache Maven
Maven introdução Muito Rápida
Maven e Nexus. O que são essas ferramentas?
Gestão de Projetos: Introdução ao Apache Maven
Gestão de Projectos: Apache Maven - Introdução
Tutorial de instalação do Maven
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Introdução a projetos baseados em apache maven
Gestão de Projectos: Apache Maven - Introdução
Maven - Aula 03
Maven na prática
Maven - Aula 04

Último (19)

PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Aula 18 - Manipulacao De Arquivos python
Processos na gestão de transportes, TM100 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula04-Academia Heri- Tecnologia Geral 2025
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Apple Pippin Uma breve introdução. - David Glotz
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
COBITxITIL-Entenda as diferença em uso governança TI
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss

Projetos Java com Maven

  • 2. Maven é uma ferramenta para construir, gerenciar e implantar projetos Java
  • 3. 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)
  • 5. Arquivo de configuração (POM) Efetivamente responde aos questionamentos; O que, Como e Onde
  • 6. 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
  • 7. Projeto padrão => Arquetipo
  • 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 o Eclipse 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ó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.
  • 13. Configuração de plugin necessá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 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
  • 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/