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?

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
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...WSO2
 
Mastering Your Customer Data on Apache Spark by Elliott Cordo
Mastering Your Customer Data on Apache Spark by Elliott CordoMastering Your Customer Data on Apache Spark by Elliott Cordo
Mastering Your Customer Data on Apache Spark by Elliott CordoSpark Summit
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentalsRajKharvar
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django ArchitectureRami Sayar
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
 
Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)Katy Slemon
 
Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...
Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...
Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...Divya Malik
 
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...Marko Rodriguez
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubJames Gray
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Thyago Maia
 
Flutter presentation.pptx
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptxFalgunSorathiya
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHubNishan Bose
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na PraticaAlessandro Kieras
 

Was ist angesagt? (20)

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
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
 
Mastering Your Customer Data on Apache Spark by Elliott Cordo
Mastering Your Customer Data on Apache Spark by Elliott CordoMastering Your Customer Data on Apache Spark by Elliott Cordo
Mastering Your Customer Data on Apache Spark by Elliott Cordo
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentals
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Introdução a React Native
Introdução a React NativeIntrodução a React Native
Introdução a React Native
 
Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)
 
Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...
Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...
Real ROI: The Business Case for Upgrading to the Latest Release of Oracle’s S...
 
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1
 
Gitlab flow
Gitlab flowGitlab flow
Gitlab flow
 
Front End x Back End
Front End x Back EndFront End x Back End
Front End x Back End
 
Flutter presentation.pptx
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptx
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
 

Ä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 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.

Hinweis der Redaktion

  1. 1