SlideShare a Scribd company logo
Building and Managing
Java Projects with Maven
Part-I
Agenda
• What is Maven?
• A J2EE example
• Customizing and extending Maven
• Tips and discussions
What is Maven?
• A Java project management and integration
build tool.
• Based on the concept of XML Project Object
Model (POM).
• Originally developed for building Turbine.
• A small core with numerous plugins (in Jelly).
Build Tools Retrospective
• One level above ant.
• Make  ant  Maven
• (Assembly  C  C++)
Make makefile target
Ant build.xml target
Maven project.xml
maven.xml
goals
Under the Hood
forehead classloader util launcher
maven core, jelly, werkz
Maven
pluginsjava jar war ejb
ear gump xdoclet javadoc
test
jalopy
cactus artifact xdoc
site junit etc…
ant
Architecture Overview
Build System
Local
Repo
Remote
Repo
maven
project.xml (pom)
maven.xml (goals) http
Site
Artifact Repository
The Most Important Feature
• Remote Repository
…
<dependencies>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.5.1</version>
<type>jar</type>
</dependency>
…
</dependencies>
…
${mave.repo.remote}/<groupId>/<type>s/<artifactId>-<version>.<type>
- repository
- […]
- xalan
- jars
- xalan-2.5.0.jar
- xalan-2.5.1.jar
- […]
- […]
Artifact Repository
• Local Repository
– A local mirror/cache of downloaded
artifacts from remote repositories.
– Located at
${user.home}/.maven/repository
${mave.repo.local}/<groupId>/<type>s/<artifactId>-<version>.<type>
Implementing an Example
• Get Started
– Download from
• http://maven.apache.org/start/download.html
– Current version: 1.0rc1
– Environment setup
• export MAVEN_HOME=c:/maven-1.0rc1
• export PATH=“$MAVEN_HOME/bin;$PATH”
(or set MAVEN_HOME = c:maven-1.0rc1
set PATH = %MAVEN_HOME%bin;%PATH% )
– run install_repo.sh to populate the local
repository

More Related Content

PPTX
Building and Managing Projects with Maven
PPTX
Maven
PPTX
CQ5 Development Setup, Maven Build and Deployment
PDF
Choosing the best JavaScript framework/library/toolkit
PDF
Flexible UI Components for a Multi-Framework World
PPTX
No Container: a Modern Java Stack with Bootique
PPTX
How NOT to get lost in the current JavaScript landscape
PDF
Selenium testing
Building and Managing Projects with Maven
Maven
CQ5 Development Setup, Maven Build and Deployment
Choosing the best JavaScript framework/library/toolkit
Flexible UI Components for a Multi-Framework World
No Container: a Modern Java Stack with Bootique
How NOT to get lost in the current JavaScript landscape
Selenium testing

What's hot (19)

PPTX
Javascript Frameworks Comparison
PDF
Building modular applications with the Java Platform Module System and Layrry
PDF
jQuery Keynote - Fall 2010
PDF
CQ5 and Sling overview
KEY
jQuery Conference Boston 2011 CouchApps
PPT
Java EE revisits design patterns
PPTX
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
PDF
Creating Better Builds with Gradle
PDF
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
PDF
Modern Web Framework : Play framework
PPTX
Controlling the browser through python and selenium
PDF
Introduction to CQ5
PDF
Avoiding Common Pitfalls in Ember.js
PDF
Shootout! Template engines for the JVM
KEY
Single Page Applications - Desert Code Camp 2012
PPTX
Getting up and running with selenium for automated Code palousa
PDF
APIs: A Better Alternative to Page Objects
PDF
Testing Mobile JavaScript (Fall 2010
PPSX
Applet Vs Servlet
Javascript Frameworks Comparison
Building modular applications with the Java Platform Module System and Layrry
jQuery Keynote - Fall 2010
CQ5 and Sling overview
jQuery Conference Boston 2011 CouchApps
Java EE revisits design patterns
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
Creating Better Builds with Gradle
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Modern Web Framework : Play framework
Controlling the browser through python and selenium
Introduction to CQ5
Avoiding Common Pitfalls in Ember.js
Shootout! Template engines for the JVM
Single Page Applications - Desert Code Camp 2012
Getting up and running with selenium for automated Code palousa
APIs: A Better Alternative to Page Objects
Testing Mobile JavaScript (Fall 2010
Applet Vs Servlet
Ad

Viewers also liked (20)

PDF
Math 2012 ups
PDF
MOKOInvestorPresentationAug2016
PDF
Cuestionario deontologia1
PPTX
Answer to Q D - Santiago Pelaez
PDF
Lab fizik kmj compressed
DOCX
Educacion digital
PPTX
Gustavo diaz ordaz
PPTX
Mmc rest api user groups
PDF
general quiz
PPT
Help youself food
PDF
Fizik 2012 ups compressed
PDF
Skema lab kimia compressed
PPTX
Mapping and listing with mule
PDF
Shaina Birbalsingh - PPP
PDF
ShannonBoone_Interactive Prototype
PPTX
Marketing Loves Sales 2016 Presentation
PDF
catalog content
PPTX
Scratch Scratch lo mejor
DOCX
Bernard L
Math 2012 ups
MOKOInvestorPresentationAug2016
Cuestionario deontologia1
Answer to Q D - Santiago Pelaez
Lab fizik kmj compressed
Educacion digital
Gustavo diaz ordaz
Mmc rest api user groups
general quiz
Help youself food
Fizik 2012 ups compressed
Skema lab kimia compressed
Mapping and listing with mule
Shaina Birbalsingh - PPP
ShannonBoone_Interactive Prototype
Marketing Loves Sales 2016 Presentation
catalog content
Scratch Scratch lo mejor
Bernard L
Ad

Similar to Maven part 1 (20)

PPTX
Maven part 1
PPTX
Maven part 1
PPTX
Maven part 1
PPT
PPT
Training in Android with Maven
PPT
PPT
Maven introduction in Mule
PPT
Maven in Mule
PPTX
Introduction to Maven for beginners and DevOps
PPT
PPT
Maven
PDF
Mavennotes.pdf
PPTX
Maven and ANT
PPT
Mavenppt
PPTX
PPT
PDF
Apache maven, a software project management tool
PPTX
Maven in mulesoft
PPTX
Maven Nexus
Maven part 1
Maven part 1
Maven part 1
Training in Android with Maven
Maven introduction in Mule
Maven in Mule
Introduction to Maven for beginners and DevOps
Maven
Mavennotes.pdf
Maven and ANT
Mavenppt
Apache maven, a software project management tool
Maven in mulesoft
Maven Nexus

More from princeirfancivil (20)

PPTX
Web services uddi
PPTX
Web services wsdl
PPTX
Web services SOAP
PPTX
WebServices introduction
PPTX
Introduction to java
PPTX
Building and managing java projects with maven part-III
PPTX
PPT
Anypoint data gateway
PPTX
Data weave
PPTX
How to use expression filter
PPTX
How to use message properties component
PPTX
PPT
Mule esb api layer
PPTX
Mule esb stripe
PPTX
PPTX
Mule for each scope headerc ollection
PPT
Mule security jaas
PPT
Mule security saml
PPTX
Send email attachment using smtp in mule esb
Web services uddi
Web services wsdl
Web services SOAP
WebServices introduction
Introduction to java
Building and managing java projects with maven part-III
Anypoint data gateway
Data weave
How to use expression filter
How to use message properties component
Mule esb api layer
Mule esb stripe
Mule for each scope headerc ollection
Mule security jaas
Mule security saml
Send email attachment using smtp in mule esb

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Cloud computing and distributed systems.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
KodekX | Application Modernization Development
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction
Cloud computing and distributed systems.
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
KodekX | Application Modernization Development
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing

Maven part 1

  • 1. Building and Managing Java Projects with Maven Part-I
  • 2. Agenda • What is Maven? • A J2EE example • Customizing and extending Maven • Tips and discussions
  • 3. What is Maven? • A Java project management and integration build tool. • Based on the concept of XML Project Object Model (POM). • Originally developed for building Turbine. • A small core with numerous plugins (in Jelly).
  • 4. Build Tools Retrospective • One level above ant. • Make  ant  Maven • (Assembly  C  C++) Make makefile target Ant build.xml target Maven project.xml maven.xml goals
  • 5. Under the Hood forehead classloader util launcher maven core, jelly, werkz Maven pluginsjava jar war ejb ear gump xdoclet javadoc test jalopy cactus artifact xdoc site junit etc… ant
  • 7. Artifact Repository The Most Important Feature • Remote Repository … <dependencies> <dependency> <groupId>xalan</groupId> <artifactId>xalan</artifactId> <version>2.5.1</version> <type>jar</type> </dependency> … </dependencies> … ${mave.repo.remote}/<groupId>/<type>s/<artifactId>-<version>.<type> - repository - […] - xalan - jars - xalan-2.5.0.jar - xalan-2.5.1.jar - […] - […]
  • 8. Artifact Repository • Local Repository – A local mirror/cache of downloaded artifacts from remote repositories. – Located at ${user.home}/.maven/repository ${mave.repo.local}/<groupId>/<type>s/<artifactId>-<version>.<type>
  • 9. Implementing an Example • Get Started – Download from • http://maven.apache.org/start/download.html – Current version: 1.0rc1 – Environment setup • export MAVEN_HOME=c:/maven-1.0rc1 • export PATH=“$MAVEN_HOME/bin;$PATH” (or set MAVEN_HOME = c:maven-1.0rc1 set PATH = %MAVEN_HOME%bin;%PATH% ) – run install_repo.sh to populate the local repository