SlideShare a Scribd company logo
A JJTV tool night presentation
Tomer Gabel, November 2012
 Maven is not news…

 … but it’s not well-understood either

 Let’s go back to basics
 A lifecycle management tool
  Not just a build system

 Declarative
  Not a script!

 Modular
  Everything is a plugin
Phases                                                                              Goals
          • process-resources
compile   • compile                                                                resources:resources   compiler:compile

                                • process-test-resources
             test               • test-compile
                                • test




                            package                • prepare-package                 resources:test-      compiler:test-
                                                   • package
                                                                                        resources           compile
                                                                       • verify
                                                    deploy             • install
                                                                       • deploy




                                                                                      surefire:test          war:war
Hierarchy


               POM


Dependencies         Configuration
   XML
     *sigh* … yeah


   Artifact descriptor

   Hierarchy

   Dependencies
   POMs reference POMs

     Group, artifact, version


   Repository lookup

     Local repository
      (“cache”)

     Remote repositories
   Convention over configuration

     Stick to the conventions if possible

   Keep it simple

     Avoid complex setups (e.g. multiple repositories)

     Avoid feature creep (stick to common plugins)
   Useful links
     Maven home: http://maven.apache.org
     Central repository: http://search.maven.org


   Me!
     Blog: http://www.tomergabel.com
     Twitter: @tomerg
     LinkedIn: http://il.linkedin.com/in/tomergabel

More Related Content

PDF
Maven 3 Overview
PDF
Note - Apache Maven Intro
PPT
Maven Overview
PDF
Apache Maven In 10 Slides
PPTX
Maven
PPTX
An introduction to Maven
PPTX
Maven ppt
Maven 3 Overview
Note - Apache Maven Intro
Maven Overview
Apache Maven In 10 Slides
Maven
An introduction to Maven
Maven ppt

What's hot (20)

PDF
Build Automation using Maven
PPTX
Introduction to maven
PPT
Maven Introduction
PPTX
Maven Basics - Explained
PPTX
Introduction to Maven
PPTX
Apache Maven
PPTX
Maven
ODP
An Introduction to Maven Part 1
PPTX
Learning Maven by Example
PDF
Java Builds with Maven and Ant
PPTX
Maven plugins, properties en profiles: Advanced concepts in Maven
PDF
Hands On with Maven
PPTX
Continuous Deployment Pipeline with maven
PPTX
PPT
Demystifying Maven
PPTX
An Introduction to Maven
PPSX
Maven Presentation - SureFire vs FailSafe
PPTX
Version Management in Maven
PPTX
Apache maven 2 overview
PPTX
Build Automation using Maven
Introduction to maven
Maven Introduction
Maven Basics - Explained
Introduction to Maven
Apache Maven
Maven
An Introduction to Maven Part 1
Learning Maven by Example
Java Builds with Maven and Ant
Maven plugins, properties en profiles: Advanced concepts in Maven
Hands On with Maven
Continuous Deployment Pipeline with maven
Demystifying Maven
An Introduction to Maven
Maven Presentation - SureFire vs FailSafe
Version Management in Maven
Apache maven 2 overview
Ad

Viewers also liked (19)

PDF
Continuous delivery-with-maven
PDF
Maven tutorial for beginners
PDF
Lorraine JUG (1st June, 2010) - Maven
PDF
Mastering Maven 2.0 In 1 Hour V1.3
PDF
Maven from dummies
PPT
Maven overview
PPTX
Git branching model
PPTX
Tycho Tutorial (EclipseCon 2012)
PDF
Análise de qualidade de código com Sonar - Fernando Boaglio
PDF
Continuous inspection with Sonar
PDF
Maven 3 / Tycho
PPTX
Apache Maven for AT/QC
PDF
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
PDF
Herramientas Java
PDF
Git Branching Model
PDF
Maven 3.0 at Øredev
PDF
Java desde cero maven
PDF
Sonar Metrics
PPTX
Scala in practice
Continuous delivery-with-maven
Maven tutorial for beginners
Lorraine JUG (1st June, 2010) - Maven
Mastering Maven 2.0 In 1 Hour V1.3
Maven from dummies
Maven overview
Git branching model
Tycho Tutorial (EclipseCon 2012)
Análise de qualidade de código com Sonar - Fernando Boaglio
Continuous inspection with Sonar
Maven 3 / Tycho
Apache Maven for AT/QC
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
Herramientas Java
Git Branching Model
Maven 3.0 at Øredev
Java desde cero maven
Sonar Metrics
Scala in practice
Ad

Similar to Maven for Dummies (20)

PDF
Practical maven-slides 2
PPTX
Java build tools
PPTX
Introduction to Maven for beginners and DevOps
KEY
4 maven junit
PDF
P&MSP2012 - Maven
PDF
Introduction in Apache Maven2
PPTX
Jenkins advance topic
PPT
Intro to Maven.ppt
KEY
Building Android apps with Maven
PPT
PPTX
Automated testing with Drupal
PPT
Introduction tomaven
PPT
Introduction to Maven for projects and carrer ppt
PPTX
PDF
Introduction to maven, its configuration, lifecycle and relationship to JS world
PPTX
(Re)-Introduction to Maven
PDF
Apache Maven - eXo TN presentation
PDF
stackconf 2024 | How to hack and defend (your) open source by Roman Zhukov.pdf
PPTX
Apache Maven
PPTX
InSpec For DevOpsDays Amsterdam 2017
Practical maven-slides 2
Java build tools
Introduction to Maven for beginners and DevOps
4 maven junit
P&MSP2012 - Maven
Introduction in Apache Maven2
Jenkins advance topic
Intro to Maven.ppt
Building Android apps with Maven
Automated testing with Drupal
Introduction tomaven
Introduction to Maven for projects and carrer ppt
Introduction to maven, its configuration, lifecycle and relationship to JS world
(Re)-Introduction to Maven
Apache Maven - eXo TN presentation
stackconf 2024 | How to hack and defend (your) open source by Roman Zhukov.pdf
Apache Maven
InSpec For DevOpsDays Amsterdam 2017

More from Tomer Gabel (20)

PDF
How shit works: Time
PDF
Nondeterministic Software for the Rest of Us
PDF
Slaying Sacred Cows: Deconstructing Dependency Injection
PDF
An Abridged Guide to Event Sourcing
PDF
How shit works: the CPU
PDF
How Shit Works: Storage
PDF
Java 8 and Beyond, a Scala Story
PDF
The Wix Microservice Stack
PPTX
Scala Refactoring for Fun and Profit (Japanese subtitles)
PPTX
Scala Refactoring for Fun and Profit
PDF
Onboarding at Scale
PPTX
Scala in the Wild
PPTX
Speaking Scala: Refactoring for Fun and Profit (Workshop)
PPTX
Put Your Thinking CAP On
PPTX
Leveraging Scala Macros for Better Validation
PDF
A Field Guide to DSL Design in Scala
PPTX
Functional Leap of Faith (Keynote at JDay Lviv 2014)
PPTX
Scala Back to Basics: Type Classes
PDF
5 Bullets to Scala Adoption
PPTX
Nashorn: JavaScript that doesn’t suck (ILJUG)
How shit works: Time
Nondeterministic Software for the Rest of Us
Slaying Sacred Cows: Deconstructing Dependency Injection
An Abridged Guide to Event Sourcing
How shit works: the CPU
How Shit Works: Storage
Java 8 and Beyond, a Scala Story
The Wix Microservice Stack
Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit
Onboarding at Scale
Scala in the Wild
Speaking Scala: Refactoring for Fun and Profit (Workshop)
Put Your Thinking CAP On
Leveraging Scala Macros for Better Validation
A Field Guide to DSL Design in Scala
Functional Leap of Faith (Keynote at JDay Lviv 2014)
Scala Back to Basics: Type Classes
5 Bullets to Scala Adoption
Nashorn: JavaScript that doesn’t suck (ILJUG)

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Approach and Philosophy of On baking technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Monthly Chronicles - July 2025
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Unlocking AI with Model Context Protocol (MCP)
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Approach and Philosophy of On baking technology

Maven for Dummies

  • 1. A JJTV tool night presentation Tomer Gabel, November 2012
  • 2.  Maven is not news…  … but it’s not well-understood either  Let’s go back to basics
  • 3.  A lifecycle management tool  Not just a build system  Declarative  Not a script!  Modular  Everything is a plugin
  • 4. Phases Goals • process-resources compile • compile resources:resources compiler:compile • process-test-resources test • test-compile • test package • prepare-package resources:test- compiler:test- • package resources compile • verify deploy • install • deploy surefire:test war:war
  • 5. Hierarchy POM Dependencies Configuration
  • 6. XML  *sigh* … yeah  Artifact descriptor  Hierarchy  Dependencies
  • 7. POMs reference POMs  Group, artifact, version  Repository lookup  Local repository (“cache”)  Remote repositories
  • 8. Convention over configuration  Stick to the conventions if possible  Keep it simple  Avoid complex setups (e.g. multiple repositories)  Avoid feature creep (stick to common plugins)
  • 9. Useful links  Maven home: http://maven.apache.org  Central repository: http://search.maven.org  Me!  Blog: http://www.tomergabel.com  Twitter: @tomerg  LinkedIn: http://il.linkedin.com/in/tomergabel