SlideShare una empresa de Scribd logo
1 de 8
O que é o Maven?
Maven é uma ferramenta, open source da apache, que auxilia
no gerenciamento, construção, e implantação de projetos.
O Maven auxilia no processo de gerenciamento de
dependências, automação de build, geração de relatórios e
também provê ferramentas para avaliação da qualidade do
projeto.
Etapas de build do Maven
•compile – compila o código fonte do projeto.
•test – executa os testes unitários do código compilado, usando uma
ferramenta de testes unitários, como o junit.
•package – empacota o código compilado de acordo com o
empacotamento escolhido, por exemplo, em JAR.
•integration-test – processa e faz o deploy do pacote em um
ambiente onde os testes de integração podem ser rodados.
•install – instala o pacote no repositório local, para ser usado como
dependência de outros projetos locais.
•deploy – feito em ambiente de integração ou de release, copia o
pacote final para um repositório remoto para ser compartilhado entre
desenvolvedores e projetos.
Gerenciamento de Dependências
• O gerenciamento de dependências é uma das principais funcionalidades do
Maven, onde toda a configuração do projeto é feita dentro do arquivo
“pom.xml” (intitulado de forma geral como o coração do maven) onde cada
dependência do projeto é colocadas individualmente dentro da tag
“<dependency>”, e todas estas dependências estarão dentro da tag
“<dependencies>”.
•Exemplo:
<project>
<groupId>br.com.empresa</groupId>
<artifactId>projeto</artifactId>
<version>2.0</version>
<packing>war</packing>
</project>
Gerenciamento de Dependências
Exemplo:
<dependencies>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.5</version>
</dependency>
<dependency>
...
</dependency>
</dependencies>
3 Motivos para usar o Maven
•Build: O Maven vai fazer a build de sua solução. Ele utiliza muito o conceito de
convenção sobre configuração. Logo, não será necessário configurar várias coisas
que você configuraria com ant como o diretório de fontes, se você colocar seus
artefatos nas estruturas padrões do maven.
•Gerencia de Dependências: Quando usamos muitos frameworks em Java através
de vários projetos, gerenciar esses artefatos e controlar as suas versões é um
verdadeiro caos. O maven provê a gerencia de jar's, bem como de plugins. Esses
artefatos não ficam em controle de versão. Isso mesmo você não cria uma pasta
*lib* e coloca os jars lá dentro, eles ficam no repositório local do maven.
•Foco na Qualidade: O Maven incentiva que se criem testes unitários. De forma
quando você faz o build ou gera um deploy em um servidor, nesses momentos ele
roda todos os testes unitários. Caso algum teste unitário falhar ele aborda o
build/deploy. Essa é uma excelente política para forçar os testes e a qualidade de
software.
O Que é o Nexus?
•O Nexus é um repositório de artefatos Maven e está entre os
melhores e mais confiáveis repositórios Maven disponíveis. O Nexus é
ser Open Source, possui uma boa documentação, apresenta um bom
nível de segurança e controle de acesso, e armazena os artefatos no
sistema de arquivos.
•O Nexus atua como um proxy para a equipe de desenvolvimento,
onde as dependências serão solicitadas para o Nexus, caso ele não
possua a dependência solicitada ele se encarrega de busca-las e
armazenar em um repositório local, e na próxima vez que a mesma
dependência for solicitada, o Nexus disponibiliza a dependência
baixada anteriormente, não indo na internet efetuar o download
novamente.
Motivos para usar o Nexus
•O repositório será o local onde os snapshots dos artefatos serão
guardados e recuperados pelos diversos membros da equipe;
•O repositório servirá como cache dos artefatos externos, evitando que
se acesse sempre repositórios muito utilizados como Maven Central;
•É possível criar proxies para os repositórios externos, de forma que os
desenvolvedores utilizem sempre o mesmo repositório, sem ter que se
preocupar em mudar a configuração quando um novo repositório
externo é incluído;
•O repositório pode ser protegido por um controle de acesso, evitando
que pessoas não autorizadas tenham acesso a artefatos que não são
públicos.
Parte prática!
l…

Más contenido relacionado

La actualidad más candente

Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionSparkbit
 
Pulumi. Modern Infrastructure as Code.
Pulumi. Modern Infrastructure as Code.Pulumi. Modern Infrastructure as Code.
Pulumi. Modern Infrastructure as Code.Yurii Bychenok
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefitsAmit Manwade
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
 
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Brian Brazil
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
 
Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?AWS Germany
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basicsSourabh Saxena
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignAOE
 
Deploying a 3 tier application using docker
Deploying a 3 tier application using dockerDeploying a 3 tier application using docker
Deploying a 3 tier application using dockerparth2094
 
はじめてのWallaby.js
はじめてのWallaby.jsはじめてのWallaby.js
はじめてのWallaby.jsShunta Saito
 
DevOps Offerings at WhiteHedge
DevOps Offerings at WhiteHedge  DevOps Offerings at WhiteHedge
DevOps Offerings at WhiteHedge Abhijit Joshi
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionRobert Reiz
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdfVuHoangAnh14
 

La actualidad más candente (20)

Master the Monorepo
Master the MonorepoMaster the Monorepo
Master the Monorepo
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Intro to Azure DevOps
Intro to Azure DevOpsIntro to Azure DevOps
Intro to Azure DevOps
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Pulumi. Modern Infrastructure as Code.
Pulumi. Modern Infrastructure as Code.Pulumi. Modern Infrastructure as Code.
Pulumi. Modern Infrastructure as Code.
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Deploying a 3 tier application using docker
Deploying a 3 tier application using dockerDeploying a 3 tier application using docker
Deploying a 3 tier application using docker
 
はじめてのWallaby.js
はじめてのWallaby.jsはじめてのWallaby.js
はじめてのWallaby.js
 
DevOps Offerings at WhiteHedge
DevOps Offerings at WhiteHedge  DevOps Offerings at WhiteHedge
DevOps Offerings at WhiteHedge
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
 

Similar a Maven e Nexus. O que são essas ferramentas?

Similar a Maven e Nexus. O que são essas ferramentas? (20)

Apache maven
Apache mavenApache maven
Apache maven
 
Maven 2
Maven 2Maven 2
Maven 2
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
Aula maven
Aula   mavenAula   maven
Aula maven
 
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
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com Maven
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do Maven
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Maven
MavenMaven
Maven
 
Introdução ao maven
Introdução ao mavenIntrodução ao maven
Introdução ao maven
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Quick intro to Apache Maven
Quick intro to Apache MavenQuick intro to Apache Maven
Quick intro to Apache Maven
 
Maven - Aula 01
Maven - Aula 01Maven - Aula 01
Maven - Aula 01
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Docker e outras ferramentas Devops
Docker e outras ferramentas DevopsDocker e outras ferramentas Devops
Docker e outras ferramentas Devops
 
Maven
MavenMaven
Maven
 
Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonSuporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
 

Maven e Nexus. O que são essas ferramentas?

  • 1. O que é o Maven? Maven é uma ferramenta, open source da apache, que auxilia no gerenciamento, construção, e implantação de projetos. O Maven auxilia no processo de gerenciamento de dependências, automação de build, geração de relatórios e também provê ferramentas para avaliação da qualidade do projeto.
  • 2. Etapas de build do Maven •compile – compila o código fonte do projeto. •test – executa os testes unitários do código compilado, usando uma ferramenta de testes unitários, como o junit. •package – empacota o código compilado de acordo com o empacotamento escolhido, por exemplo, em JAR. •integration-test – processa e faz o deploy do pacote em um ambiente onde os testes de integração podem ser rodados. •install – instala o pacote no repositório local, para ser usado como dependência de outros projetos locais. •deploy – feito em ambiente de integração ou de release, copia o pacote final para um repositório remoto para ser compartilhado entre desenvolvedores e projetos.
  • 3. Gerenciamento de Dependências • O gerenciamento de dependências é uma das principais funcionalidades do Maven, onde toda a configuração do projeto é feita dentro do arquivo “pom.xml” (intitulado de forma geral como o coração do maven) onde cada dependência do projeto é colocadas individualmente dentro da tag “<dependency>”, e todas estas dependências estarão dentro da tag “<dependencies>”. •Exemplo: <project> <groupId>br.com.empresa</groupId> <artifactId>projeto</artifactId> <version>2.0</version> <packing>war</packing> </project>
  • 5. 3 Motivos para usar o Maven •Build: O Maven vai fazer a build de sua solução. Ele utiliza muito o conceito de convenção sobre configuração. Logo, não será necessário configurar várias coisas que você configuraria com ant como o diretório de fontes, se você colocar seus artefatos nas estruturas padrões do maven. •Gerencia de Dependências: Quando usamos muitos frameworks em Java através de vários projetos, gerenciar esses artefatos e controlar as suas versões é um verdadeiro caos. O maven provê a gerencia de jar's, bem como de plugins. Esses artefatos não ficam em controle de versão. Isso mesmo você não cria uma pasta *lib* e coloca os jars lá dentro, eles ficam no repositório local do maven. •Foco na Qualidade: O Maven incentiva que se criem testes unitários. De forma quando você faz o build ou gera um deploy em um servidor, nesses momentos ele roda todos os testes unitários. Caso algum teste unitário falhar ele aborda o build/deploy. Essa é uma excelente política para forçar os testes e a qualidade de software.
  • 6. O Que é o Nexus? •O Nexus é um repositório de artefatos Maven e está entre os melhores e mais confiáveis repositórios Maven disponíveis. O Nexus é ser Open Source, possui uma boa documentação, apresenta um bom nível de segurança e controle de acesso, e armazena os artefatos no sistema de arquivos. •O Nexus atua como um proxy para a equipe de desenvolvimento, onde as dependências serão solicitadas para o Nexus, caso ele não possua a dependência solicitada ele se encarrega de busca-las e armazenar em um repositório local, e na próxima vez que a mesma dependência for solicitada, o Nexus disponibiliza a dependência baixada anteriormente, não indo na internet efetuar o download novamente.
  • 7. Motivos para usar o Nexus •O repositório será o local onde os snapshots dos artefatos serão guardados e recuperados pelos diversos membros da equipe; •O repositório servirá como cache dos artefatos externos, evitando que se acesse sempre repositórios muito utilizados como Maven Central; •É possível criar proxies para os repositórios externos, de forma que os desenvolvedores utilizem sempre o mesmo repositório, sem ter que se preocupar em mudar a configuração quando um novo repositório externo é incluído; •O repositório pode ser protegido por um controle de acesso, evitando que pessoas não autorizadas tenham acesso a artefatos que não são públicos.

Notas del editor

  1. 1