SlideShare a Scribd company logo
1 of 18
Sonatype Nexus and Maven Basics February 9, 2010
2 Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.  What is Maven
3 Problems Addressed and Uses for Maven ,[object Object]
Will become messy and incomprehensible if the projects don’t adhere to some common principles
Will be time-consuming to build all projects manuallyUse a project management tool (like Maven) Maven helps you with various aspects: Build process Project structure Dependency management Access to information and documentation
4 Build process The Project Object Model (POM) – an XML file – is the heart of a Maven 2 project ,[object Object]
Project dependencies
Commands (goals) that can be executed
Plugins
Metadata
The POM extends the Super POM,[object Object]
6 POM – Project inheritance
7 POM – Project aggregation
8 The build lifecycle is the process of building and distributing an artifact A phase is a step in the build lifecycle Most important default phases: Validate Compile Test Package Install Deploy Some common phases not default: Clean Site For each step, all previous steps are executed Build Lifecycle and Phases
9 Advantages: A developer familar with Maven will quickly get familiar with a new project No time wasted on re-inventing directory structures and conventions src/main/java 		Javasource files goes here src/main/resources 	Other resources your application needs src/main/filters 		Resource filters (properties files) src/main/config 		Configuration files src/main/webapp	Web application directory for a WAR project src/test/java 		Test sources like unit tests (not deployed) src/test/resources 	Test resources (not deployed) src/test/filters 		Test resource filter files (not deployed) src/site 			Files used to generate the Maven project website Standard directory layout
10 Dependency: a third-party or project-local software library (JAR or WAR file) Dependency management is a challenge in multi-module projects Dependency management
11 Dependency management
12 Dependency management

More Related Content

What's hot

Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondStefan Kopf
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformAdin Ermie
 
Terraform: An Overview & Introduction
Terraform: An Overview & IntroductionTerraform: An Overview & Introduction
Terraform: An Overview & IntroductionLee Trout
 
Terraform Introduction
Terraform IntroductionTerraform Introduction
Terraform Introductionsoniasnowfrog
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfKnoldus Inc.
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformDevOps.com
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practicesRadek Simko
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching modelPavlo Hodysh
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With PrometheusKnoldus Inc.
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowAnton Babenko
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowMikhail Melnik
 
MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)Lucas Jellema
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Dennys Hsieh
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | EdurekaEdureka!
 

What's hot (20)

Terraform
TerraformTerraform
Terraform
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyond
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
 
Terraform: An Overview & Introduction
Terraform: An Overview & IntroductionTerraform: An Overview & Introduction
Terraform: An Overview & Introduction
 
Terraform
TerraformTerraform
Terraform
 
Maven tutorial
Maven tutorialMaven tutorial
Maven tutorial
 
Terraform Introduction
Terraform IntroductionTerraform Introduction
Terraform Introduction
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
Terraform day1
Terraform day1Terraform day1
Terraform day1
 
Maven
MavenMaven
Maven
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Terraform
TerraformTerraform
Terraform
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practices
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With Prometheus
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 

Viewers also liked

Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...EclipseDayParis
 
Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)
Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)
Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)Tamas Cservenak
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Gilad Garon
 
Artifactory Docker Integration Webinar
Artifactory Docker Integration WebinarArtifactory Docker Integration Webinar
Artifactory Docker Integration WebinarBaruch Sadogursky
 
A "Firewall" for Bad Binaries
A "Firewall" for Bad BinariesA "Firewall" for Bad Binaries
A "Firewall" for Bad BinariesSonatype
 
4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager Strategy4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager StrategySonatype
 
Juc west-how to build a jenkins db the wrong way!
Juc west-how to build a jenkins db the wrong way!Juc west-how to build a jenkins db the wrong way!
Juc west-how to build a jenkins db the wrong way!Michael Barbine
 
Jenkins Workflow - An Introduction
Jenkins Workflow - An IntroductionJenkins Workflow - An Introduction
Jenkins Workflow - An IntroductionBen Snape
 
20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2 20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2 TSE-JU LIN(Louis)
 
Using Jenkins XML API
Using Jenkins XML APIUsing Jenkins XML API
Using Jenkins XML APIAnton Weiss
 
DevOps – SonarQube
DevOps – SonarQubeDevOps – SonarQube
DevOps – SonarQubeDelta-N
 
Continuous Cross Platform Mobile App Development using Jenkins Build Server
Continuous Cross Platform Mobile App Development using Jenkins Build ServerContinuous Cross Platform Mobile App Development using Jenkins Build Server
Continuous Cross Platform Mobile App Development using Jenkins Build ServerAdam Paxton
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to MavenVadym Lotar
 
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITCONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITBenjamin Lutaaya
 
Build and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWSBuild and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWSmitesh_sharma
 
Jenkins days workshop pipelines - Eric Long
Jenkins days workshop  pipelines - Eric LongJenkins days workshop  pipelines - Eric Long
Jenkins days workshop pipelines - Eric Longericlongtx
 

Viewers also liked (20)

Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
 
Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)
Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)
Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
 
Artifactory Docker Integration Webinar
Artifactory Docker Integration WebinarArtifactory Docker Integration Webinar
Artifactory Docker Integration Webinar
 
Artifactory UOC
Artifactory UOCArtifactory UOC
Artifactory UOC
 
A "Firewall" for Bad Binaries
A "Firewall" for Bad BinariesA "Firewall" for Bad Binaries
A "Firewall" for Bad Binaries
 
4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager Strategy4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager Strategy
 
Juc west-how to build a jenkins db the wrong way!
Juc west-how to build a jenkins db the wrong way!Juc west-how to build a jenkins db the wrong way!
Juc west-how to build a jenkins db the wrong way!
 
Los vatos
Los vatosLos vatos
Los vatos
 
Jenkins Workflow - An Introduction
Jenkins Workflow - An IntroductionJenkins Workflow - An Introduction
Jenkins Workflow - An Introduction
 
20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2 20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2
 
Using Jenkins XML API
Using Jenkins XML APIUsing Jenkins XML API
Using Jenkins XML API
 
DevOps – SonarQube
DevOps – SonarQubeDevOps – SonarQube
DevOps – SonarQube
 
Continuous Cross Platform Mobile App Development using Jenkins Build Server
Continuous Cross Platform Mobile App Development using Jenkins Build ServerContinuous Cross Platform Mobile App Development using Jenkins Build Server
Continuous Cross Platform Mobile App Development using Jenkins Build Server
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
 
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITCONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
 
Build and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWSBuild and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWS
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Jenkins days workshop pipelines - Eric Long
Jenkins days workshop  pipelines - Eric LongJenkins days workshop  pipelines - Eric Long
Jenkins days workshop pipelines - Eric Long
 

Similar to Maven Nexus

Similar to Maven Nexus (20)

Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
What is maven
What is mavenWhat is maven
What is maven
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Mavennotes.pdf
Mavennotes.pdfMavennotes.pdf
Mavennotes.pdf
 
Introduction to maven
Introduction to mavenIntroduction to maven
Introduction to maven
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management tool
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension tool
 
A-Z_Maven.pdf
A-Z_Maven.pdfA-Z_Maven.pdf
A-Z_Maven.pdf
 
Maven with Flex
Maven with FlexMaven with Flex
Maven with Flex
 
Maven with Flex
Maven with FlexMaven with Flex
Maven with Flex
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Maven basics
Maven basicsMaven basics
Maven basics
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Maven overview
Maven overviewMaven overview
Maven overview
 

Maven Nexus

  • 1. Sonatype Nexus and Maven Basics February 9, 2010
  • 2. 2 Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. What is Maven
  • 3.
  • 4. Will become messy and incomprehensible if the projects don’t adhere to some common principles
  • 5. Will be time-consuming to build all projects manuallyUse a project management tool (like Maven) Maven helps you with various aspects: Build process Project structure Dependency management Access to information and documentation
  • 6.
  • 8. Commands (goals) that can be executed
  • 11.
  • 12. 6 POM – Project inheritance
  • 13. 7 POM – Project aggregation
  • 14. 8 The build lifecycle is the process of building and distributing an artifact A phase is a step in the build lifecycle Most important default phases: Validate Compile Test Package Install Deploy Some common phases not default: Clean Site For each step, all previous steps are executed Build Lifecycle and Phases
  • 15. 9 Advantages: A developer familar with Maven will quickly get familiar with a new project No time wasted on re-inventing directory structures and conventions src/main/java Javasource files goes here src/main/resources Other resources your application needs src/main/filters Resource filters (properties files) src/main/config Configuration files src/main/webapp Web application directory for a WAR project src/test/java Test sources like unit tests (not deployed) src/test/resources Test resources (not deployed) src/test/filters Test resource filter files (not deployed) src/site Files used to generate the Maven project website Standard directory layout
  • 16. 10 Dependency: a third-party or project-local software library (JAR or WAR file) Dependency management is a challenge in multi-module projects Dependency management
  • 21. 15 Most projects use open source software as building blocks in application development. These building blocks, referred to as Artifacts, are best obtained from Maven repositories, because these repositories store binary artifacts together with meta data to describe dependencies, licensing and locations of source code. To control what artifacts are acquired, to manage local repositories and to support their software development work-flows and policies, companies use an Artifact Repository Manager such as Nexus Open Source or Nexus Professional. Sonatype Nexus - Artifact Repository Managers
  • 22. 16 Proxy Repository: A proxy repository is a proxy of a remote repository. Hosted Repository: A hosted repository is a repository which is hosted by Nexus. Virtual Repository: This serves as an adapter to and from different types of repositories. Currently Nexus supports conversion to and from Maven 1 repositories and Maven 2 repositories. Sonatype Nexus - Artifact Repository Managers
  • 23. 17 See Nexus Demo
  • 24. 18 References http://www.uio.no/studier/emner/matnat/ifi/INF5750/h07/undervisningsmateriale/software_project_management_and_maven.pdf http://maven.apache.org/guides/index.html http://nexus.sonatype.org http://www.sonatype.com/ http://www.sonatype.com/documentation/books (Free Online) The “Maven Definitive Guide” is now Two Books Maven by Example Maven: The Complete Reference Repository Management with Nexus Developing with Eclipse and Maven The Maven Handbook