SlideShare ist ein Scribd-Unternehmen logo
1 von 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…

Weitere ähnliche Inhalte

Was ist angesagt?

Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Como Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product BacklogComo Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product BacklogRildo (@rildosan) Santos
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Introdução ao 12 Factors APP
Introdução ao 12 Factors APPIntrodução ao 12 Factors APP
Introdução ao 12 Factors APPDouglas Alonso
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache MavenRajind Ruparathna
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 
01 php - introdução ao php
01   php - introdução ao php01   php - introdução ao php
01 php - introdução ao phpRoney Sousa
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtBATbern
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e PráticaEduardo Pires
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 

Was ist angesagt? (20)

Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Como Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product BacklogComo Criar, Estimar, Priorizar e Manter o Product Backlog
Como Criar, Estimar, Priorizar e Manter o Product Backlog
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Introdução ao 12 Factors APP
Introdução ao 12 Factors APPIntrodução ao 12 Factors APP
Introdução ao 12 Factors APP
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
01 php - introdução ao php
01   php - introdução ao php01   php - introdução ao php
01 php - introdução ao php
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
Estimativas em projetos de software
Estimativas em projetos de softwareEstimativas em projetos de software
Estimativas em projetos de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 

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

Ähnlich wie 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
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
 
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
 

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.

Hinweis der Redaktion

  1. 1