SlideShare a Scribd company logo
Will it live up to its promises?

APACHE MAVEN 3.X
Arnaud Héritier
                  •    eXo - Software Factory Manager
                        »  In charge of tools and methods
                  •    Apache Maven :
                        »  Committer since 2004 and member of the
                          Project Management Committee

                  •    Coauthor of « Apache Maven »
                        »  published by Pearson (in French)
                  •    Contact me :
                        »  http://aheritier.net
                        »  Twitter : @aheritier
                        »  Skype : aheritier



                          2
Definition

•  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, binaries,
       reporting and documentation from a central piece
       of information.
•    Apache Maven is standards/conventions
     driven
     » How many of you are doing JEE and related
       developments ?
                             3
History




•  Initiated in 2001 by Jason Van Zyl in Alexandria,
   an Apache Jakarta project,
•  Moved to Turbine few months after,
•  Became a Top Level Project in 2003.
•  Maven 2.0 released in September 2005
•  Maven 3.0 released in October 2010
     » 3.0.3 – March 2011
                            4
Choose your way of thinking


Conventions approach       Scripting approach




                       5
Competitors

•  Ant + Ivy, Easy Ant, Gant, Gradle, Buildr…
•  Script oriented
    »  You can do what you want !
•  Reuse many of Maven conventions (directories layout,
   …) and services (repositories) but without enforcing
   them
•  The risk for them : Not being able to evolve due to the
   too high level of customization proposed to the user.
    »  We tried on Maven 1 and it died because of that. It was
        impossible to create a set of tests to cover all usages.
     »  It’s like providing a framework without a well tested set of
        public API 


                                    6
With scripts oriented builds
You can have                    But often you have
(if you have good skills)       (moreover after years …)




                            7
With Maven
We dream to deliver       But yesterday we too often had
(Maven 3.x)               (Maven 2.x)




                      8
Apache Maven 3.x
BACKWARD COMPATIBILITY



                   9
Backward compatibility - Criticisms

•  Migration from Maven 1 to Maven 2 was
   impossible. Everything had to be re-done.
•  Updates between 2.x versions and also
   between 2.0.x weren’t often without side
   effects.




                        10
Backward compatibility

•  Near to 700 integration tests
•  Tested for several months on a large set of
   OSS projects
•  7 alphas + 3 betas versions

•  A bug fix release every 6 weeks

•  It’s a revolution under the hood but an
   evolution for end users




                         11
Maven 3.0.x ITs




                  674




                        12
Apache Maven 3.x
PERFORMANCES



                   13
Performances - Criticisms

•  Maven is slow
•  It spends its time to download the world

•  Whereas everybody has multicore CPUs, it
   doesn’t allow to process modules builds in
   parallel




                        14
Performances

•  A set of benchmark tools was developed to
   measure Maven performances (IO, CPU,
   Memory, Network …)
•  Startup and execution times are reduced
     » Java 5 optimizations
     » Code cleanup and improvements
•  Reduced Memory footprint
•  Artifacts Resolution Caching
     » .lastUpdated files in your local repo
     » Enforce checks with –U option
                              15
Performances – Parallel builds

•    Parallel builds
     » An execution plan is predefined at startup to
       define which modules could be built in //
     » Requires to have up to date plugins to avoid dead
       locks and some others issues
     » Launch a build with 2 threads
       •  mvn –T 2 install
     » Launch a build with 2 threads per CPU core
       •  mvn –T 2C install




                              16
Performances – mvnsh

•    Performances optimizations
     » Intelligent cache system (artifacts resolution,
       project descriptors …)
     » No need to restart a JVM for each build
•    Cross platform « unix like » shell
     » Alias, environment settings …
     » Color highlighting




                                17
Performances – mvnsh

•    All in one
     » Includes Maven 3.x
     » Allows to have color highlighting with “standard”
       Maven 3.x
•    Developed and freely distributed by Sonatype




                             18
Performances – mvnsh




                       19
Apache Maven 3.x
EXTENSIBILITY



                   20
Extensibility - Criticisms

•    It is difficult and time consuming to extend
     maven (write plugins)
     » Many unknown technologies like Plexus for IOC
•    It is difficult/impossible to reuse maven
     plugins
     » Its impossible to extend plugins/mojo and
       lifecycles




                             21
Extensibility

•    New APIs to improve abstraction of
     underneath implementation
     » Aether : to manage artifacts and repositories
•  Plugin classloader partitioning
•  Embeddable

•  IOC replaced by Guice
     » For now (3.0) a wrapper is hiding the change
     » You don’t yet use Guice directly (from plugins for
       example)


                             22
Apache Maven 3.x
ROBUSNESS



                   23
Robusness - Criticisms

•  Builds aren’t predictable
•  Errors are difficult to diagnose




                          24
Robusness - Validations

•    Many more validations in POMs (warnings or
     errors)
     » Missing plugins versions
     » Duplicated dependencies in a POM
     » Incoherent inheritance (wrong relative path or
       parent not in the upper directory)
•    Improved error messages with links to wiki
     pages for more detailed information




                              25
Robusness – Artifacts management

•    Parent POMs prefer to resolve from
     repositories
     » Version less parent will be available in a future
       maven 3.x release by using the relativePath
       element
•    Profiles usage consolidation
     » No more profiles.xml (incompatible with future
       polyglot feature)




                              26
Robusness – Artifacts management

•  No more support for legacy repository layout
   for Maven 1.0
•  SNAPSHOTs are always deployed with
   timestamps




                        27
Robusness – Plugins management

•    Plugin version is by default RELEASE and no
     more SNAPSHOT
     » Affects command-line invocation
•    Plugins cannot use versions LATEST or
     RELEASE
     » Affects command-line invocation and POM
•    Plugins are resolved only from
     <pluginRepository> entries



                            28
Robusness – Site plugin

•    Site plugin is now completely extracted from
     Maven core
     » It has its own lifecycle
     » reporting section in POM becomes useless
       (moved in plugin configuration)




                             29
Apache Maven 3.x
POM



                   30
Criticisms

•  XML, we don’t like it
•  POM is too verbose

•  POM v4 didn’t evolve last 5 years
     » When will you add new common attributes to
      ease plugins configuration (encoding …)
     » New feature like global exclusions




                             31
POM

•  No change in POM syntax for Maven 3.0
•  Changes will occur in 3.x versions
     » New model with a new version
     » Only new things
     » Generation / deployment of 4.0.0 current POM to
       keep backward compatibility with old maven
       versions
•    Mixins to allow to import POM fragments



                            32
POM - Polyglot

•  Developed and freely distributed by Sonatype
•  Extended version of Maven 3.0 using its new
   embedding and extensibility capabilities
•  Allow translation (read/write) from/to various
   syntaxes
     » Yaml
     » Scala
     » Groovy
•    Allow macros and freeform scripting


                          33
Apache Maven
QUESTIONS ?



               34
Licence et copyrights

•  Photos and logos belong to their respective
   authors/owners
•  Various ideas are coming from the excellent
   presentation done by Matthew McCullough :
     » http://www.slideshare.net/matthewmccullough/
      maven-30-at-oredev




                            35
Licence et copyrights

•    Content under Creative Commons 3.0
     » Attribution — You must attribute the work in the manner
       specified by the author or licensor (but not in any way that suggests
       that they endorse you or your use of the work).

     » Noncommercial — You may not use this work for commercial
       purposes.

     » Share Alike — If you alter, transform, or build upon this work,
       you may distribute the resulting work only under the same or similar
       license to this one.

•    http://creativecommons.org/licenses/by-nc-sa/3.0/us/




                                      36
Apache Maven
TO GO FURTHER …
Apache Maven
COMMUNITY



               38
Users Mailing List

•    users@maven.apache.or               •    Blue :
     g                                        » Number of subscribers
     » Traffic statistics cover a
       total of 2025 days.               •    Red :
     » Current subscribers: 1936              » Number of messages
     » Current digest                           per day
       subscribers: 48
     » Total posts (2025 days):
        89687
     » Mean posts per day:
        44.29
•    http://pulse.apache.org/

                                    39
Apache Maven Web Site




                   40
Dowloads

Per month downloads
http://people.apache.org/~vgritsenko/stats/
 projects/maven.html




                        41
The team

•  60 committers,
•  More than 30 active in 2009,

•  Several organizations like Sonatype, deliver
   resources and professional support,
•  A community less isolated : more interactions
   with Eclipse, Jetty,




                        42
Commit Statistics




•    In light blue the number of active commiters




                           43
Apache Maven
DOCUMENTATIONS



               44
Some links

•    The main web site :
     » http://maven.apache.org
•    Project’s team wiki :
     » http://docs.codehaus.org/display/MAVEN
•    Project’s users wiki :
     » http://docs.codehaus.org/display/MAVENUSER




                              45
Books

•    Nicolas De loof
     Arnaud Héritier
     » Published by Pearson
     » Collection Référence
     » Based on our own
       experiences with
       Maven.
     » From beginners to
       experts.
     » In French only

                              46
Books

•    Sonatype / O’Reilly :
     » The Definitive Guide
     » http://
       www.sonatype.com/
       books
     » Free download
     » Available in several
       languages




                              47
Books

•    Apache Maven 2
     Effective
     Implementation
     » Brett Porter, Maria
       Odea Ching
     » https://
       www.packtpub.com/
       apache-maven-2-
       effective-
       implementation/book


                             48
Books

•    Exist Global
     » Better builds with
       Maven
     » http://
       www.maestrodev.com
       /better-build-maven
     » Free download




                             49
Apache Maven
SUPPORT



               50
Support

•    Mailing lists
     » http://maven.apache.org/mail-lists.html
•    IRC
     » irc.codehaus.org - #maven
•    Forums
     » http://www.developpez.net/ forum maven
     » In French
•    Dedicated support
     » Sonatype and many others companies

                             51

More Related Content

What's hot

Maven for Dummies
Maven for DummiesMaven for Dummies
Maven for Dummies
Tomer Gabel
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to Maven
Joao Pereira
 
Using Maven 2
Using Maven 2Using Maven 2
Using Maven 2
andyhot
 
Java Builds with Maven and Ant
Java Builds with Maven and AntJava Builds with Maven and Ant
Java Builds with Maven and Ant
David Noble
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
Return on Intelligence
 
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Sam Brannen
 
MAVEN
MAVENMAVEN
MAVEN
shayan n
 
Spring Framework 3.2 - What's New
Spring Framework 3.2 - What's NewSpring Framework 3.2 - What's New
Spring Framework 3.2 - What's New
Sam Brannen
 
Maven ppt
Maven pptMaven ppt
Maven ppt
natashasweety7
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
Vadym Lotar
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
Mindfire Solutions
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
Angel Ruiz
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
Sid Anand
 
Apache Maven
Apache MavenApache Maven
Apache Maven
Rahul Tanwani
 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1
MD Sayem Ahmed
 
Maven basics
Maven basicsMaven basics
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Werner Keil
 
Automated infrastructure
Automated infrastructureAutomated infrastructure
Automated infrastructure
Kaunas Java User Group
 

What's hot (18)

Maven for Dummies
Maven for DummiesMaven for Dummies
Maven for Dummies
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to Maven
 
Using Maven 2
Using Maven 2Using Maven 2
Using Maven 2
 
Java Builds with Maven and Ant
Java Builds with Maven and AntJava Builds with Maven and Ant
Java Builds with Maven and Ant
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
 
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012
 
MAVEN
MAVENMAVEN
MAVEN
 
Spring Framework 3.2 - What's New
Spring Framework 3.2 - What's NewSpring Framework 3.2 - What's New
Spring Framework 3.2 - What's New
 
Maven ppt
Maven pptMaven ppt
Maven ppt
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1
 
Maven basics
Maven basicsMaven basics
Maven basics
 
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
 
Automated infrastructure
Automated infrastructureAutomated infrastructure
Automated infrastructure
 

Viewers also liked

Ec big summit-portland-20100615
Ec big summit-portland-20100615Ec big summit-portland-20100615
Ec big summit-portland-20100615
Eduardo Chaves
 
NM2216 DW3_1
NM2216 DW3_1NM2216 DW3_1
1st Web Audit Report
1st Web Audit Report1st Web Audit Report
1st Web Audit Report
Albert Borrero
 
Final%20project
Final%20projectFinal%20project
Final%20project
tfroehlke
 
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
Niraj Tolia
 
Ingles 5 trabajo final urbe
Ingles 5 trabajo final urbeIngles 5 trabajo final urbe
Ingles 5 trabajo final urbe
leilanybermudez
 

Viewers also liked (6)

Ec big summit-portland-20100615
Ec big summit-portland-20100615Ec big summit-portland-20100615
Ec big summit-portland-20100615
 
NM2216 DW3_1
NM2216 DW3_1NM2216 DW3_1
NM2216 DW3_1
 
1st Web Audit Report
1st Web Audit Report1st Web Audit Report
1st Web Audit Report
 
Final%20project
Final%20projectFinal%20project
Final%20project
 
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
 
Ingles 5 trabajo final urbe
Ingles 5 trabajo final urbeIngles 5 trabajo final urbe
Ingles 5 trabajo final urbe
 

Similar to BordeauxJUG-Maven 3.x, will it lives up to its promises

Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - Maven
Arnaud Héritier
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentation
Arnaud Héritier
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
elliando dias
 
BP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
BP-10 Keeping Your Sanity – Rapid Development & Deployment ToolsBP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
BP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
Alfresco Software
 
software technology benchmarking
software  technology benchmarkingsoftware  technology benchmarking
software technology benchmarking
Mallikarjuna G D
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
Fabio Fumarola
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
Ankur Goyal
 
Build tool
Build toolBuild tool
Build tool
Mallikarjuna G D
 
ONAP on Vagrant
ONAP on VagrantONAP on Vagrant
ONAP on Vagrant
Victor Morales
 
Containing the world with Docker
Containing the world with DockerContaining the world with Docker
Containing the world with Docker
Giuseppe Piccolo
 
Developing XWiki
Developing XWikiDeveloping XWiki
Developing XWiki
Vincent Massol
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
Top Maven Interview Questions in 2020 | Edureka
Top Maven Interview Questions in 2020 | EdurekaTop Maven Interview Questions in 2020 | Edureka
Top Maven Interview Questions in 2020 | Edureka
Edureka!
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
drewz lin
 
Apache Maven In 10 Slides
Apache Maven In 10 SlidesApache Maven In 10 Slides
Apache Maven In 10 Slides
Robert Burrell Donkin
 
Openstack components as containerized microservices
Openstack components as containerized microservicesOpenstack components as containerized microservices
Openstack components as containerized microservices
Miguel Zuniga
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
Rogue Wave Software
 
Maven 3.0 at Øredev
Maven 3.0 at ØredevMaven 3.0 at Øredev
Maven 3.0 at Øredev
Matthew McCullough
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
Fabio Fumarola
 
Vagrant to-aws-flow
Vagrant to-aws-flowVagrant to-aws-flow
Vagrant to-aws-flow
Kimberly Macias
 

Similar to BordeauxJUG-Maven 3.x, will it lives up to its promises (20)

Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - Maven
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentation
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
 
BP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
BP-10 Keeping Your Sanity – Rapid Development & Deployment ToolsBP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
BP-10 Keeping Your Sanity – Rapid Development & Deployment Tools
 
software technology benchmarking
software  technology benchmarkingsoftware  technology benchmarking
software technology benchmarking
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
Build tool
Build toolBuild tool
Build tool
 
ONAP on Vagrant
ONAP on VagrantONAP on Vagrant
ONAP on Vagrant
 
Containing the world with Docker
Containing the world with DockerContaining the world with Docker
Containing the world with Docker
 
Developing XWiki
Developing XWikiDeveloping XWiki
Developing XWiki
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Top Maven Interview Questions in 2020 | Edureka
Top Maven Interview Questions in 2020 | EdurekaTop Maven Interview Questions in 2020 | Edureka
Top Maven Interview Questions in 2020 | Edureka
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Apache Maven In 10 Slides
Apache Maven In 10 SlidesApache Maven In 10 Slides
Apache Maven In 10 Slides
 
Openstack components as containerized microservices
Openstack components as containerized microservicesOpenstack components as containerized microservices
Openstack components as containerized microservices
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
Maven 3.0 at Øredev
Maven 3.0 at ØredevMaven 3.0 at Øredev
Maven 3.0 at Øredev
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
Vagrant to-aws-flow
Vagrant to-aws-flowVagrant to-aws-flow
Vagrant to-aws-flow
 

More from Arnaud Héritier

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMA
Arnaud Héritier
 
Java is evolving rapidly: Maven helps you staying on track
Java is evolving rapidly:  Maven helps you staying on trackJava is evolving rapidly:  Maven helps you staying on track
Java is evolving rapidly: Maven helps you staying on track
Arnaud Héritier
 
Quand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsQuand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les rails
Arnaud Héritier
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vn
Arnaud Héritier
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview
Arnaud Héritier
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - Quickie
Arnaud Héritier
 
LavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promisesLavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promises
Arnaud Héritier
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkins
Arnaud Héritier
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
Arnaud Héritier
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXo
Arnaud Héritier
 
YaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesYaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promises
Arnaud Héritier
 
ToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promises
Arnaud Héritier
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
Arnaud Héritier
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
Arnaud Héritier
 
Lausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenLausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
Arnaud Héritier
 
Geneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenGeneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - Maven
Arnaud Héritier
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache Maven
Arnaud Héritier
 
Maven for eXo VN
Maven for eXo VNMaven for eXo VN
Maven for eXo VN
Arnaud Héritier
 
20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven
Arnaud Héritier
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
Arnaud Héritier
 

More from Arnaud Héritier (20)

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMA
 
Java is evolving rapidly: Maven helps you staying on track
Java is evolving rapidly:  Maven helps you staying on trackJava is evolving rapidly:  Maven helps you staying on track
Java is evolving rapidly: Maven helps you staying on track
 
Quand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsQuand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les rails
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vn
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - Quickie
 
LavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promisesLavaJUG-Maven 3.x, will it lives up to its promises
LavaJUG-Maven 3.x, will it lives up to its promises
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkins
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXo
 
YaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesYaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promises
 
ToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promises
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
 
Lausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenLausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
 
Geneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenGeneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - Maven
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache Maven
 
Maven for eXo VN
Maven for eXo VNMaven for eXo VN
Maven for eXo VN
 
20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
 

Recently uploaded

(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
How to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdfHow to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdf
ChristopherTHyatt
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
LINUS PROJECTS (INDIA)
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
chetankumar9855
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
Applying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAI
Applying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAIApplying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAI
Applying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAI
ssuserd4e0d2
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
CEPTES Software Inc
 
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdfARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
Inglês no Mundo Digital
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 

Recently uploaded (20)

(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
How to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdfHow to build a generative AI solution A step-by-step guide (2).pdf
How to build a generative AI solution A step-by-step guide (2).pdf
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
Applying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAI
Applying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAIApplying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAI
Applying Retrieval-Augmented Generation (RAG) to Combat Hallucinations in GenAI
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
 
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdfARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 

BordeauxJUG-Maven 3.x, will it lives up to its promises

  • 1. Will it live up to its promises? APACHE MAVEN 3.X
  • 2. Arnaud Héritier •  eXo - Software Factory Manager »  In charge of tools and methods •  Apache Maven : »  Committer since 2004 and member of the Project Management Committee •  Coauthor of « Apache Maven » »  published by Pearson (in French) •  Contact me : »  http://aheritier.net »  Twitter : @aheritier »  Skype : aheritier 2
  • 3. Definition •  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, binaries, reporting and documentation from a central piece of information. •  Apache Maven is standards/conventions driven » How many of you are doing JEE and related developments ? 3
  • 4. History •  Initiated in 2001 by Jason Van Zyl in Alexandria, an Apache Jakarta project, •  Moved to Turbine few months after, •  Became a Top Level Project in 2003. •  Maven 2.0 released in September 2005 •  Maven 3.0 released in October 2010 » 3.0.3 – March 2011 4
  • 5. Choose your way of thinking Conventions approach Scripting approach 5
  • 6. Competitors •  Ant + Ivy, Easy Ant, Gant, Gradle, Buildr… •  Script oriented »  You can do what you want ! •  Reuse many of Maven conventions (directories layout, …) and services (repositories) but without enforcing them •  The risk for them : Not being able to evolve due to the too high level of customization proposed to the user. »  We tried on Maven 1 and it died because of that. It was impossible to create a set of tests to cover all usages. »  It’s like providing a framework without a well tested set of public API  6
  • 7. With scripts oriented builds You can have But often you have (if you have good skills) (moreover after years …) 7
  • 8. With Maven We dream to deliver But yesterday we too often had (Maven 3.x) (Maven 2.x) 8
  • 9. Apache Maven 3.x BACKWARD COMPATIBILITY 9
  • 10. Backward compatibility - Criticisms •  Migration from Maven 1 to Maven 2 was impossible. Everything had to be re-done. •  Updates between 2.x versions and also between 2.0.x weren’t often without side effects. 10
  • 11. Backward compatibility •  Near to 700 integration tests •  Tested for several months on a large set of OSS projects •  7 alphas + 3 betas versions •  A bug fix release every 6 weeks •  It’s a revolution under the hood but an evolution for end users 11
  • 12. Maven 3.0.x ITs 674 12
  • 14. Performances - Criticisms •  Maven is slow •  It spends its time to download the world •  Whereas everybody has multicore CPUs, it doesn’t allow to process modules builds in parallel 14
  • 15. Performances •  A set of benchmark tools was developed to measure Maven performances (IO, CPU, Memory, Network …) •  Startup and execution times are reduced » Java 5 optimizations » Code cleanup and improvements •  Reduced Memory footprint •  Artifacts Resolution Caching » .lastUpdated files in your local repo » Enforce checks with –U option 15
  • 16. Performances – Parallel builds •  Parallel builds » An execution plan is predefined at startup to define which modules could be built in // » Requires to have up to date plugins to avoid dead locks and some others issues » Launch a build with 2 threads •  mvn –T 2 install » Launch a build with 2 threads per CPU core •  mvn –T 2C install 16
  • 17. Performances – mvnsh •  Performances optimizations » Intelligent cache system (artifacts resolution, project descriptors …) » No need to restart a JVM for each build •  Cross platform « unix like » shell » Alias, environment settings … » Color highlighting 17
  • 18. Performances – mvnsh •  All in one » Includes Maven 3.x » Allows to have color highlighting with “standard” Maven 3.x •  Developed and freely distributed by Sonatype 18
  • 21. Extensibility - Criticisms •  It is difficult and time consuming to extend maven (write plugins) » Many unknown technologies like Plexus for IOC •  It is difficult/impossible to reuse maven plugins » Its impossible to extend plugins/mojo and lifecycles 21
  • 22. Extensibility •  New APIs to improve abstraction of underneath implementation » Aether : to manage artifacts and repositories •  Plugin classloader partitioning •  Embeddable •  IOC replaced by Guice » For now (3.0) a wrapper is hiding the change » You don’t yet use Guice directly (from plugins for example) 22
  • 24. Robusness - Criticisms •  Builds aren’t predictable •  Errors are difficult to diagnose 24
  • 25. Robusness - Validations •  Many more validations in POMs (warnings or errors) » Missing plugins versions » Duplicated dependencies in a POM » Incoherent inheritance (wrong relative path or parent not in the upper directory) •  Improved error messages with links to wiki pages for more detailed information 25
  • 26. Robusness – Artifacts management •  Parent POMs prefer to resolve from repositories » Version less parent will be available in a future maven 3.x release by using the relativePath element •  Profiles usage consolidation » No more profiles.xml (incompatible with future polyglot feature) 26
  • 27. Robusness – Artifacts management •  No more support for legacy repository layout for Maven 1.0 •  SNAPSHOTs are always deployed with timestamps 27
  • 28. Robusness – Plugins management •  Plugin version is by default RELEASE and no more SNAPSHOT » Affects command-line invocation •  Plugins cannot use versions LATEST or RELEASE » Affects command-line invocation and POM •  Plugins are resolved only from <pluginRepository> entries 28
  • 29. Robusness – Site plugin •  Site plugin is now completely extracted from Maven core » It has its own lifecycle » reporting section in POM becomes useless (moved in plugin configuration) 29
  • 31. Criticisms •  XML, we don’t like it •  POM is too verbose •  POM v4 didn’t evolve last 5 years » When will you add new common attributes to ease plugins configuration (encoding …) » New feature like global exclusions 31
  • 32. POM •  No change in POM syntax for Maven 3.0 •  Changes will occur in 3.x versions » New model with a new version » Only new things » Generation / deployment of 4.0.0 current POM to keep backward compatibility with old maven versions •  Mixins to allow to import POM fragments 32
  • 33. POM - Polyglot •  Developed and freely distributed by Sonatype •  Extended version of Maven 3.0 using its new embedding and extensibility capabilities •  Allow translation (read/write) from/to various syntaxes » Yaml » Scala » Groovy •  Allow macros and freeform scripting 33
  • 35. Licence et copyrights •  Photos and logos belong to their respective authors/owners •  Various ideas are coming from the excellent presentation done by Matthew McCullough : » http://www.slideshare.net/matthewmccullough/ maven-30-at-oredev 35
  • 36. Licence et copyrights •  Content under Creative Commons 3.0 » Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). » Noncommercial — You may not use this work for commercial purposes. » Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. •  http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 36
  • 37. Apache Maven TO GO FURTHER …
  • 39. Users Mailing List •  users@maven.apache.or •  Blue : g » Number of subscribers » Traffic statistics cover a total of 2025 days. •  Red : » Current subscribers: 1936 » Number of messages » Current digest per day subscribers: 48 » Total posts (2025 days): 89687 » Mean posts per day: 44.29 •  http://pulse.apache.org/ 39
  • 40. Apache Maven Web Site 40
  • 42. The team •  60 committers, •  More than 30 active in 2009, •  Several organizations like Sonatype, deliver resources and professional support, •  A community less isolated : more interactions with Eclipse, Jetty, 42
  • 43. Commit Statistics •  In light blue the number of active commiters 43
  • 45. Some links •  The main web site : » http://maven.apache.org •  Project’s team wiki : » http://docs.codehaus.org/display/MAVEN •  Project’s users wiki : » http://docs.codehaus.org/display/MAVENUSER 45
  • 46. Books •  Nicolas De loof Arnaud Héritier » Published by Pearson » Collection Référence » Based on our own experiences with Maven. » From beginners to experts. » In French only 46
  • 47. Books •  Sonatype / O’Reilly : » The Definitive Guide » http:// www.sonatype.com/ books » Free download » Available in several languages 47
  • 48. Books •  Apache Maven 2 Effective Implementation » Brett Porter, Maria Odea Ching » https:// www.packtpub.com/ apache-maven-2- effective- implementation/book 48
  • 49. Books •  Exist Global » Better builds with Maven » http:// www.maestrodev.com /better-build-maven » Free download 49
  • 51. Support •  Mailing lists » http://maven.apache.org/mail-lists.html •  IRC » irc.codehaus.org - #maven •  Forums » http://www.developpez.net/ forum maven » In French •  Dedicated support » Sonatype and many others companies 51