SlideShare ist ein Scribd-Unternehmen logo
1 von 15
X Bemobi Tech Tal k
Maven
Di ego Magal hães 22/ 02/ 2013
Definição
 Mais do que uma simples ferramenta de build
 Promove convention over configuration
 Hierárquico (≠ ANT)
Bemobi Tech Tal k Dat a: 09/11/2012
POM e Artefatos
 Planta do seu build, todas as configurações
 Geração de um ou mais artefatos por build (Normalmente um)
 Identificação via artifactId, groupId e versão
 Versões “-SNAPSHOT”
 Artefatos são guardados em repositórios locais/remotos
Bemobi Tech Tal k Dat a: 09/11/2012
POM e Artefatos
 Herança através de um SUPER POM (Parent POM)
 Definição de bibliotecas atrás de dependencyManagement
 Definição de regras, reporters e formatadores
 Perfis de execução
Bemobi Tech Tal k Dat a: 09/11/2012
Build dos seus projetos
 Goal é uma única ação
 Cada Phase é uma coleção de Goals
 O ciclo de vida do maven é composto por uma sequência de Phases
 Plugins disponibilizam seus próprios Goals, que por sua vez podem ser
incluidos em Phases
Bemobi Tech Tal k Dat a: 09/11/2012
Archetypes
 Templates de projetos
 Use um ou construa a partir de mvn archetype:create-from-project
 Acaba com a bagunça do ctrl+c e ctrl+v dos “projetos base”
Bemobi Tech Tal k Dat a: 09/11/2012
Dependências
 São guardadas em repositórios (local – mvn install ou remoto – mvn deploy)
 Referências a repositórios podem estar no POM ou no settings.xml
 Como o maven resolve qual dependência usar? A mais próxima!
Bemobi Tech Tal k Dat a: 09/11/2012
1 2
3
4
Dependências
 Use *Management (DependencyManagement, PluginManagement etc)
 Herança de versões de bibliotecas e plugins
Bemobi Tech Tal k Dat a: 09/11/2012
Parent Pom Pom dos projetos filhos
Integração com SCM
 mvn release:prepare
• versões em todos os poms perdem o sufixo “-SNAPSHOT”
• cria a tag no SCM da versão
 mvn release:perform
• Faz o deploy da tag no svn
• mvn deploy
• atualiza os POMs para a próxima versão de desenvolvimento (Snapshot)
Bemobi Tech Tal k Dat a: 09/11/2012
Integração com SCM
 mvn release:prepare – versões em todos os poms perdem o sufixo “-
SNAPSHOT”, cria a tag no SCM da versão
 mvn release:perform– Faz o deploy da tag no svn, mvn deploy e atualiza
os POMs para a próxima versão de desenvolvimento (Snapshot)
Bemobi Tech Tal k Dat a: 09/11/2012
Rodando sua aplicação
 Rodar qualquer main class de java ou ferramenta externa
• mvn exec:java –Dexec.mainClass=“com.bemobi.teste”
 Cria um ambiente de classpath a partir das dependencias do projeto
 Usamos para testes (jetty:run)
Bemobi Tech Tal k Dat a: 09/11/2012
Integrando com legado
 Suporta integração com ANT
 Mvn ant:ant
• build.xml
• maven-build.xml
• maven-build.properties
 Ideal para fazer coisas arbitrária no ciclo do maven (copiar arquivos,
gerar output no console etc)
Bemobi Tech Tal k Dat a: 09/11/2012
Sites e Relatórios
 Site com changelogs, notas, javadoc e outros relatórios
 Não existe mais seção reporting (maven 2), agora plugins geram
relatórios
• Javadoc
• Java XRef
• Tag List
• Project Info
• Check Style
• Surefire
• PMD
• FindBugs
• Sonar
• Cobertura
• Versions
Bemobi Tech Tal k Dat a: 09/11/2012
Dúvidas?
Bemobi Tech Tal k Dat a: 09/11/2012
Fim
Bemobi Tech Tal k Dat a: 09/11/2012

Weitere ähnliche Inhalte

Was ist angesagt?

Criando Pacotes Rpm Para O Fedora
Criando Pacotes Rpm Para O FedoraCriando Pacotes Rpm Para O Fedora
Criando Pacotes Rpm Para O Fedora
Allisson Azevedo
 

Was ist angesagt? (20)

Automatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com JenkinsAutomatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com Jenkins
 
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
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
Cucumber
CucumberCucumber
Cucumber
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Apresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache MavenApresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache Maven
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Maven - Aula 01
Maven - Aula 01Maven - Aula 01
Maven - Aula 01
 
Criando Projetos Open Source
Criando Projetos Open SourceCriando Projetos Open Source
Criando Projetos Open Source
 
C# 6.0 .net coders
C# 6.0   .net codersC# 6.0   .net coders
C# 6.0 .net coders
 
Maven - Aula 03
Maven - Aula 03Maven - Aula 03
Maven - Aula 03
 
Novidades das Bibliotecas Jetpack do Android (2021)
Novidades das Bibliotecas Jetpack do Android (2021)Novidades das Bibliotecas Jetpack do Android (2021)
Novidades das Bibliotecas Jetpack do Android (2021)
 
Maven - Aula 02
Maven - Aula 02Maven - Aula 02
Maven - Aula 02
 
Vraptor no Heroku
Vraptor no HerokuVraptor no Heroku
Vraptor no Heroku
 
Maven - Aula 06
Maven  - Aula 06Maven  - Aula 06
Maven - Aula 06
 
Criando Pacotes Rpm Para O Fedora
Criando Pacotes Rpm Para O FedoraCriando Pacotes Rpm Para O Fedora
Criando Pacotes Rpm Para O Fedora
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
 
Preparar o ambiente para desenvolvimento angular
Preparar o ambiente para desenvolvimento angularPreparar o ambiente para desenvolvimento angular
Preparar o ambiente para desenvolvimento angular
 

Ähnlich wie X Bemobi Tech Talk - Maven

Ähnlich wie X Bemobi Tech Talk - Maven (20)

Aula maven
Aula   mavenAula   maven
Aula maven
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
Introdução ao maven
Introdução ao mavenIntrodução ao maven
Introdução ao maven
 
Maven
MavenMaven
Maven
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency manager
 
Pyramid - O Framework Web para Todos
Pyramid - O Framework Web para TodosPyramid - O Framework Web para Todos
Pyramid - O Framework Web para Todos
 
Composer dependency manager - TDC - POA 2017
Composer   dependency manager - TDC - POA 2017Composer   dependency manager - TDC - POA 2017
Composer dependency manager - TDC - POA 2017
 
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 ...
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de Software
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Minicurso Play Framework - Tão fácil que nem parece Java
Minicurso Play Framework - Tão fácil que nem parece JavaMinicurso Play Framework - Tão fácil que nem parece Java
Minicurso Play Framework - Tão fácil que nem parece Java
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
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
 

Mehr von Diego Magalhães (7)

Evento CODERS
Evento CODERSEvento CODERS
Evento CODERS
 
VIII TechTalk - Spring 3
VIII TechTalk - Spring 3VIII TechTalk - Spring 3
VIII TechTalk - Spring 3
 
II Bemobi Tech Talk - NoSQL
II Bemobi Tech Talk - NoSQLII Bemobi Tech Talk - NoSQL
II Bemobi Tech Talk - NoSQL
 
Comprafacil - Mobile Case
Comprafacil - Mobile CaseComprafacil - Mobile Case
Comprafacil - Mobile Case
 
Java Messaging Service
Java Messaging ServiceJava Messaging Service
Java Messaging Service
 
Botnet: Uma visao geral
Botnet: Uma visao geralBotnet: Uma visao geral
Botnet: Uma visao geral
 
Fowarder Receiver Pattern
Fowarder Receiver PatternFowarder Receiver Pattern
Fowarder Receiver Pattern
 

Kürzlich hochgeladen

Kürzlich hochgeladen (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

X Bemobi Tech Talk - Maven

  • 1. X Bemobi Tech Tal k Maven Di ego Magal hães 22/ 02/ 2013
  • 2. Definição  Mais do que uma simples ferramenta de build  Promove convention over configuration  Hierárquico (≠ ANT) Bemobi Tech Tal k Dat a: 09/11/2012
  • 3. POM e Artefatos  Planta do seu build, todas as configurações  Geração de um ou mais artefatos por build (Normalmente um)  Identificação via artifactId, groupId e versão  Versões “-SNAPSHOT”  Artefatos são guardados em repositórios locais/remotos Bemobi Tech Tal k Dat a: 09/11/2012
  • 4. POM e Artefatos  Herança através de um SUPER POM (Parent POM)  Definição de bibliotecas atrás de dependencyManagement  Definição de regras, reporters e formatadores  Perfis de execução Bemobi Tech Tal k Dat a: 09/11/2012
  • 5. Build dos seus projetos  Goal é uma única ação  Cada Phase é uma coleção de Goals  O ciclo de vida do maven é composto por uma sequência de Phases  Plugins disponibilizam seus próprios Goals, que por sua vez podem ser incluidos em Phases Bemobi Tech Tal k Dat a: 09/11/2012
  • 6. Archetypes  Templates de projetos  Use um ou construa a partir de mvn archetype:create-from-project  Acaba com a bagunça do ctrl+c e ctrl+v dos “projetos base” Bemobi Tech Tal k Dat a: 09/11/2012
  • 7. Dependências  São guardadas em repositórios (local – mvn install ou remoto – mvn deploy)  Referências a repositórios podem estar no POM ou no settings.xml  Como o maven resolve qual dependência usar? A mais próxima! Bemobi Tech Tal k Dat a: 09/11/2012 1 2 3 4
  • 8. Dependências  Use *Management (DependencyManagement, PluginManagement etc)  Herança de versões de bibliotecas e plugins Bemobi Tech Tal k Dat a: 09/11/2012 Parent Pom Pom dos projetos filhos
  • 9. Integração com SCM  mvn release:prepare • versões em todos os poms perdem o sufixo “-SNAPSHOT” • cria a tag no SCM da versão  mvn release:perform • Faz o deploy da tag no svn • mvn deploy • atualiza os POMs para a próxima versão de desenvolvimento (Snapshot) Bemobi Tech Tal k Dat a: 09/11/2012
  • 10. Integração com SCM  mvn release:prepare – versões em todos os poms perdem o sufixo “- SNAPSHOT”, cria a tag no SCM da versão  mvn release:perform– Faz o deploy da tag no svn, mvn deploy e atualiza os POMs para a próxima versão de desenvolvimento (Snapshot) Bemobi Tech Tal k Dat a: 09/11/2012
  • 11. Rodando sua aplicação  Rodar qualquer main class de java ou ferramenta externa • mvn exec:java –Dexec.mainClass=“com.bemobi.teste”  Cria um ambiente de classpath a partir das dependencias do projeto  Usamos para testes (jetty:run) Bemobi Tech Tal k Dat a: 09/11/2012
  • 12. Integrando com legado  Suporta integração com ANT  Mvn ant:ant • build.xml • maven-build.xml • maven-build.properties  Ideal para fazer coisas arbitrária no ciclo do maven (copiar arquivos, gerar output no console etc) Bemobi Tech Tal k Dat a: 09/11/2012
  • 13. Sites e Relatórios  Site com changelogs, notas, javadoc e outros relatórios  Não existe mais seção reporting (maven 2), agora plugins geram relatórios • Javadoc • Java XRef • Tag List • Project Info • Check Style • Surefire • PMD • FindBugs • Sonar • Cobertura • Versions Bemobi Tech Tal k Dat a: 09/11/2012
  • 14. Dúvidas? Bemobi Tech Tal k Dat a: 09/11/2012
  • 15. Fim Bemobi Tech Tal k Dat a: 09/11/2012