SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Maven 3… so what?

Abel Muiño
senior consultant
Nilistics, Inc.
January 18th, 2011
A bel Muiño
A bel Muiño
A bel Muiño
A bel Muiño
IAM
Maven1
From


       to maven2
maven 1                     maven 2
original repository layout   new repository layout
  many descriptor files       pom.xml, settings.xml
  multiprojects are an       added multiprojects
     afterthought
                             embedded use is an
                                afterthought
 ad-hoc build lifecycle      defined build lifecycle
                             reworked the internals
                                     faster
   jelly script plugins           java plugins
The
      Maven3
       Upgrade
$ mvn --version
Apache Maven 3.0.1 (r1038046;
2010-11-23 11:58:32+0100)


$ mvn clean install
[INFO] --------------------------------------
[INFO] BUILD SUCCESS
[INFO] --------------------------------------
Big
some
   changes
$ mvn package -T2C
$ mvn site
Maven2 compatible   <profile>
                    	
                    	
                        <id>maven-3</id>
                        <activation>
                    	   	   <file> <exists>${basedir}</exists> </file>
                    	   </activation>
                    	   <build>
                    	   	   <pluginManagement> <plugins>
                    	   	   	    <plugin>
                    	   	   	    	   <groupId>org.apache.maven.plugins</groupId>
                    	   	   	    	   <artifactId>maven-site-plugin</artifactId>
                    	   	   	    	   <version>3.0-beta-3</version>
                    	   	   	    </plugin>
                    	   	   </plugins> </pluginManagement>
                    	   	   <plugins>
                    	   	   	    <plugin>
                    	   	   	    	   <artifactId>maven-site-plugin</artifactId>




                      {                                                                   }
                    	   	   	    	   <executions> <execution>
                    	   	   	    	   	   	   <id>attach-descriptor</id>
                    	   	   	    	   	   	   <goals> <goal>attach-descriptor</goal> </goals>
                    	   	   	    	   </execution> </executions>
                    	   	   	    </plugin>
                    	   	   </plugins>
                    	   </build>
                    </profile>
Maven2 compatible   <profile>
                    	
                    	
                        <id>maven-3</id>
                        <activation>
                    	   	   <file> <exists>${basedir}</exists> </file>
                    	   </activation>
                    	   <build>
                    	   	   <pluginManagement> <plugins>
                    	   	   	    <plugin>
                    	   	   	    	   <groupId>org.apache.maven.plugins</groupId>
                    	   	   	    	   <artifactId>maven-site-plugin</artifactId>
                    	   	   	    	   <version>3.0-beta-3</version>
                    	   	   	    </plugin>
                    	   	   </plugins> </pluginManagement>
                    	   	   <plugins>
                    	   	   	    <plugin>
                    	   	   	    	   <artifactId>maven-site-plugin</artifactId>




                      {                                                                   }
                    	   	   	    	   <executions> <execution>
                    	   	   	    	   	   	   <id>attach-descriptor</id>
                    	   	   	    	   	   	   <goals> <goal>attach-descriptor</goal> </goals>
                    	   	   	    	   </execution> </executions>
                    	   	   	    </plugin>
                    	   	   </plugins>
                    	   </build>
                    </profile>
Maven2 compatible   <profile>
                    	
                    	
                        <id>maven-3</id>
                        <activation>
                    	   	   <file> <exists>${basedir}</exists> </file>
                    	   </activation>
                    	   <build>
                    	   	   <pluginManagement> <plugins>
                    	   	   	    <plugin>
                    	   	   	    	   <groupId>org.apache.maven.plugins</groupId>
                    	   	   	    	   <artifactId>maven-site-plugin</artifactId>
                    	   	   	    	   <version>3.0-beta-3</version>
                    	   	   	    </plugin>
                    	   	   </plugins> </pluginManagement>
                    	   	   <plugins>
                    	   	   	    <plugin>
                    	   	   	    	   <artifactId>maven-site-plugin</artifactId>




                      {                                                                   }
                    	   	   	    	   <executions> <execution>
                    	   	   	    	   	   	   <id>attach-descriptor</id>
                    	   	   	    	   	   	   <goals> <goal>attach-descriptor</goal> </goals>
                    	   	   	    	   </execution> </executions>
                    	   	   	    </plugin>
                    	   	   </plugins>
                    	   </build>
                    </profile>
Maven3 only
              <build>
              	   <plugins>
              	   	   <plugin>
              	   	   	   <groupId>org.apache.maven.plugins</groupId>
              	   	   	   <artifactId>maven-site-plugin</artifactId>
              	   	   	   <version>3.0-beta-3</version>
                          <configuration>
                            <reportPlugins>

                             </reportPlugins>
                           </configuration>
              	   	    </plugin>
              	   </plugins>
              </build>
Maven3 only
              <build>
              	   <plugins>
              	   	   <plugin>
              	   	   	   <groupId>org.apache.maven.plugins</groupId>
              	   	   	   <artifactId>maven-site-plugin</artifactId>
              	   	   	   <version>3.0-beta-3</version>
                          <configuration>
                            <reportPlugins>


                                                                        section
                             </reportPlugins>
                           </configuration>
                                                       m old r eporting
              	
              	
                  	    </plugin>
                  </plugins>
              </build>
                                          Plu gins fro
Tiny




The
  Things
Guidance
    built in
I don't care if
it works on your machine
I don't care if
it works on your machine
       (We are not shipping your machine)
NO
profiles.xml
maven 1                     maven 2
original repository layout   new repository layout
  many descriptor files       pom.xml, settings.xml
  multiprojects are an       added multiprojects
     afterthought
                             embedded use is an
                                afterthought
 ad-hoc build lifecycle      defined build lifecycle
                             reworked the internals
                                     faster
   jelly script plugins           java plugins
maven 2                  maven 3
new repository layout    drops maven 1 layout
pom.xml, settings.xml      drops profiles.xml
added multiprojects        added embedder
embedded use is an        removed reporting
   afterthought
defined build lifecycle       parallel builds
reworked the internals   reworked the internals
       faster                   faster
     java plugins           same java API
Should you
use maven3?
Should you
use maven3?
Should you
use maven3?
Should you
use maven3?
Comes



What
    next?
Polyglot
 Maven
maven
shell
Compatibility notes:
 cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html

Site plugin notes:
 cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html

Polyglot Maven:
 github.com/sonatype/polyglot-maven

Maven Shell:
 github.com/sonatype/mvnsh
Thanks for your pictures!
  Great Beyond: http://www.flickr.com/photos/tonyjcase/2191160470/
  Dunechaser: http://www.flickr.com/photos/dunechaser/3385957499/
  fedfil: http://www.flickr.com/photos/fedfil/1196374459/
  eyesore9: http://www.flickr.com/photos/eyesore9/4502273643
  steveIOW: http://www.flickr.com/photos/steveiow/3875381817/
  Daniel Hoherd: http://www.flickr.com/photos/warzauwynn/2167374017/
  James Jordan: http://www.flickr.com/photos/jamesjordan/187232931/
  prettydaisies: http://www.flickr.com/photos/prettydaisies/327192177/
  Hartwig HKD http://www.flickr.com/photos/h-k-d/3629569854/
  Ernest Figueras: http://www.flickr.com/photos/ernestfigueras/5284736179/


                                             Used under CC license
consulting for agile
software development
nilistics.net

Contenu connexe

Tendances

Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Jagadish Prasath
 
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...
Java EE 6 = Less Code + More Power (Tutorial)  [5th IndicThreads Conference O...Java EE 6 = Less Code + More Power (Tutorial)  [5th IndicThreads Conference O...
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...IndicThreads
 
FIWARE Tech Summit - Empower Your CKAN
FIWARE Tech Summit - Empower Your CKANFIWARE Tech Summit - Empower Your CKAN
FIWARE Tech Summit - Empower Your CKANFIWARE
 
Tycho - good, bad or ugly ?
Tycho - good, bad or ugly ?Tycho - good, bad or ugly ?
Tycho - good, bad or ugly ?Max Andersen
 
How to be effective with JBoss Developer Studio
How to be effective with JBoss Developer StudioHow to be effective with JBoss Developer Studio
How to be effective with JBoss Developer StudioMax Andersen
 
Vue routing tutorial getting started with vue router
Vue routing tutorial getting started with vue routerVue routing tutorial getting started with vue router
Vue routing tutorial getting started with vue routerKaty Slemon
 
[Spring Camp 2013] Java Configuration 없인 못살아!
[Spring Camp 2013] Java Configuration 없인 못살아![Spring Camp 2013] Java Configuration 없인 못살아!
[Spring Camp 2013] Java Configuration 없인 못살아!Arawn Park
 
Jenkinsプラグインの作り方
Jenkinsプラグインの作り方Jenkinsプラグインの作り方
Jenkinsプラグインの作り方Kiyotaka Oku
 
JavaDo#09 Spring boot入門ハンズオン
JavaDo#09 Spring boot入門ハンズオンJavaDo#09 Spring boot入門ハンズオン
JavaDo#09 Spring boot入門ハンズオンharuki ueno
 
Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010Arun Gupta
 
Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01rhemsolutions
 
ICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax FrameworkICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax FrameworkICEsoftTech
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerArun Gupta
 
Migration from vaadin 6 to vaadin 7 devoxx france 2013
Migration from vaadin 6 to vaadin 7   devoxx france 2013Migration from vaadin 6 to vaadin 7   devoxx france 2013
Migration from vaadin 6 to vaadin 7 devoxx france 2013Joonas Lehtinen
 
Maven, Eclipse and OSGi Working Together - Carlos Sanchez
Maven, Eclipse and OSGi Working Together - Carlos SanchezMaven, Eclipse and OSGi Working Together - Carlos Sanchez
Maven, Eclipse and OSGi Working Together - Carlos Sanchezmfrancis
 
Hibernate
HibernateHibernate
Hibernateksain
 

Tendances (20)

Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
 
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...
Java EE 6 = Less Code + More Power (Tutorial)  [5th IndicThreads Conference O...Java EE 6 = Less Code + More Power (Tutorial)  [5th IndicThreads Conference O...
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...
 
FIWARE Tech Summit - Empower Your CKAN
FIWARE Tech Summit - Empower Your CKANFIWARE Tech Summit - Empower Your CKAN
FIWARE Tech Summit - Empower Your CKAN
 
Tycho - good, bad or ugly ?
Tycho - good, bad or ugly ?Tycho - good, bad or ugly ?
Tycho - good, bad or ugly ?
 
How to be effective with JBoss Developer Studio
How to be effective with JBoss Developer StudioHow to be effective with JBoss Developer Studio
How to be effective with JBoss Developer Studio
 
Apache Maven 2 Part 2
Apache Maven 2 Part 2Apache Maven 2 Part 2
Apache Maven 2 Part 2
 
Vue routing tutorial getting started with vue router
Vue routing tutorial getting started with vue routerVue routing tutorial getting started with vue router
Vue routing tutorial getting started with vue router
 
Apache Maven for AT/QC
Apache Maven for AT/QCApache Maven for AT/QC
Apache Maven for AT/QC
 
Vuex
VuexVuex
Vuex
 
[Spring Camp 2013] Java Configuration 없인 못살아!
[Spring Camp 2013] Java Configuration 없인 못살아![Spring Camp 2013] Java Configuration 없인 못살아!
[Spring Camp 2013] Java Configuration 없인 못살아!
 
Jenkinsプラグインの作り方
Jenkinsプラグインの作り方Jenkinsプラグインの作り方
Jenkinsプラグインの作り方
 
JavaDo#09 Spring boot入門ハンズオン
JavaDo#09 Spring boot入門ハンズオンJavaDo#09 Spring boot入門ハンズオン
JavaDo#09 Spring boot入門ハンズオン
 
Algotitmo Moinho
Algotitmo MoinhoAlgotitmo Moinho
Algotitmo Moinho
 
Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010Deep Dive Hands-on in Java EE 6 - Oredev 2010
Deep Dive Hands-on in Java EE 6 - Oredev 2010
 
Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01
 
ICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax FrameworkICEfaces EE - Enterprise-ready JSF Ajax Framework
ICEfaces EE - Enterprise-ready JSF Ajax Framework
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
 
Migration from vaadin 6 to vaadin 7 devoxx france 2013
Migration from vaadin 6 to vaadin 7   devoxx france 2013Migration from vaadin 6 to vaadin 7   devoxx france 2013
Migration from vaadin 6 to vaadin 7 devoxx france 2013
 
Maven, Eclipse and OSGi Working Together - Carlos Sanchez
Maven, Eclipse and OSGi Working Together - Carlos SanchezMaven, Eclipse and OSGi Working Together - Carlos Sanchez
Maven, Eclipse and OSGi Working Together - Carlos Sanchez
 
Hibernate
HibernateHibernate
Hibernate
 

Similaire à Maven 3… so what?

Pom configuration java xml
Pom configuration java xmlPom configuration java xml
Pom configuration java xmlakmini
 
Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!cyrilpicat
 
Soft shake 2013 - make use of sonar on your mobile developments
Soft shake 2013 - make use of sonar on your mobile developmentsSoft shake 2013 - make use of sonar on your mobile developments
Soft shake 2013 - make use of sonar on your mobile developmentsrfelden
 
Maven plugin guide using Modello Framework
Maven plugin guide using Modello FrameworkMaven plugin guide using Modello Framework
Maven plugin guide using Modello Frameworkfulvio russo
 
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsSpring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsRaghavan Mohan
 
Liquibase via maven
Liquibase via mavenLiquibase via maven
Liquibase via mavenMaki Turki
 
Training in Android with Maven
Training in Android with MavenTraining in Android with Maven
Training in Android with MavenArcadian Learning
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with MavenSid Anand
 
Enterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudEnterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudCarlos Sanchez
 
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...Alex Soto
 
Automation Frame works Instruction Sheet
Automation Frame works Instruction SheetAutomation Frame works Instruction Sheet
Automation Frame works Instruction SheetvodQA
 

Similaire à Maven 3… so what? (20)

Pom configuration java xml
Pom configuration java xmlPom configuration java xml
Pom configuration java xml
 
Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!
 
Soft shake 2013 - make use of sonar on your mobile developments
Soft shake 2013 - make use of sonar on your mobile developmentsSoft shake 2013 - make use of sonar on your mobile developments
Soft shake 2013 - make use of sonar on your mobile developments
 
Maven advanced
Maven advancedMaven advanced
Maven advanced
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven plugin guide using Modello Framework
Maven plugin guide using Modello FrameworkMaven plugin guide using Modello Framework
Maven plugin guide using Modello Framework
 
Maven in Mule
Maven in MuleMaven in Mule
Maven in Mule
 
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorialsSpring Web Service, Spring JMS, Eclipse & Maven tutorials
Spring Web Service, Spring JMS, Eclipse & Maven tutorials
 
Liquibase via maven
Liquibase via mavenLiquibase via maven
Liquibase via maven
 
Training in Android with Maven
Training in Android with MavenTraining in Android with Maven
Training in Android with Maven
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
 
Enterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudEnterprise Build And Test In The Cloud
Enterprise Build And Test In The Cloud
 
Using Maven2
Using Maven2Using Maven2
Using Maven2
 
Maven POM
Maven POMMaven POM
Maven POM
 
Ant, Maven and Jenkins
Ant, Maven and JenkinsAnt, Maven and Jenkins
Ant, Maven and Jenkins
 
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
 
Maven
MavenMaven
Maven
 
Automation Frame works Instruction Sheet
Automation Frame works Instruction SheetAutomation Frame works Instruction Sheet
Automation Frame works Instruction Sheet
 
Maven
MavenMaven
Maven
 

Plus de Abel Muíño

Ahora eres coste de estructura - SCPNA 2023
Ahora eres coste de estructura - SCPNA 2023Ahora eres coste de estructura - SCPNA 2023
Ahora eres coste de estructura - SCPNA 2023Abel Muíño
 
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir MeetupCachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir MeetupAbel Muíño
 
Mad scalability: Scaling when you are not Google
Mad scalability: Scaling when you are not GoogleMad scalability: Scaling when you are not Google
Mad scalability: Scaling when you are not GoogleAbel Muíño
 
Hello elixir (and otp)
Hello elixir (and otp)Hello elixir (and otp)
Hello elixir (and otp)Abel Muíño
 
We had no idea what we were doing
We had no idea what we were doingWe had no idea what we were doing
We had no idea what we were doingAbel Muíño
 
Diseña una empresa
Diseña una empresaDiseña una empresa
Diseña una empresaAbel Muíño
 
Iam New And Noteworthy
Iam New And NoteworthyIam New And Noteworthy
Iam New And NoteworthyAbel Muíño
 

Plus de Abel Muíño (7)

Ahora eres coste de estructura - SCPNA 2023
Ahora eres coste de estructura - SCPNA 2023Ahora eres coste de estructura - SCPNA 2023
Ahora eres coste de estructura - SCPNA 2023
 
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir MeetupCachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
 
Mad scalability: Scaling when you are not Google
Mad scalability: Scaling when you are not GoogleMad scalability: Scaling when you are not Google
Mad scalability: Scaling when you are not Google
 
Hello elixir (and otp)
Hello elixir (and otp)Hello elixir (and otp)
Hello elixir (and otp)
 
We had no idea what we were doing
We had no idea what we were doingWe had no idea what we were doing
We had no idea what we were doing
 
Diseña una empresa
Diseña una empresaDiseña una empresa
Diseña una empresa
 
Iam New And Noteworthy
Iam New And NoteworthyIam New And Noteworthy
Iam New And Noteworthy
 

Dernier

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Maven 3… so what?

  • 1. Maven 3… so what? Abel Muiño senior consultant Nilistics, Inc. January 18th, 2011
  • 6.
  • 7. IAM
  • 8. Maven1 From to maven2
  • 9. maven 1 maven 2 original repository layout new repository layout many descriptor files pom.xml, settings.xml multiprojects are an added multiprojects afterthought embedded use is an afterthought ad-hoc build lifecycle defined build lifecycle reworked the internals faster jelly script plugins java plugins
  • 10. The Maven3 Upgrade
  • 11. $ mvn --version Apache Maven 3.0.1 (r1038046; 2010-11-23 11:58:32+0100) $ mvn clean install [INFO] -------------------------------------- [INFO] BUILD SUCCESS [INFO] --------------------------------------
  • 12. Big some changes
  • 15. Maven2 compatible <profile> <id>maven-3</id> <activation> <file> <exists>${basedir}</exists> </file> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0-beta-3</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> { } <executions> <execution> <id>attach-descriptor</id> <goals> <goal>attach-descriptor</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile>
  • 16. Maven2 compatible <profile> <id>maven-3</id> <activation> <file> <exists>${basedir}</exists> </file> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0-beta-3</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> { } <executions> <execution> <id>attach-descriptor</id> <goals> <goal>attach-descriptor</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile>
  • 17. Maven2 compatible <profile> <id>maven-3</id> <activation> <file> <exists>${basedir}</exists> </file> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0-beta-3</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> { } <executions> <execution> <id>attach-descriptor</id> <goals> <goal>attach-descriptor</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile>
  • 18. Maven3 only <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0-beta-3</version> <configuration> <reportPlugins> </reportPlugins> </configuration> </plugin> </plugins> </build>
  • 19. Maven3 only <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0-beta-3</version> <configuration> <reportPlugins> section </reportPlugins> </configuration> m old r eporting </plugin> </plugins> </build> Plu gins fro
  • 21. Guidance built in
  • 22. I don't care if it works on your machine
  • 23. I don't care if it works on your machine (We are not shipping your machine)
  • 25. maven 1 maven 2 original repository layout new repository layout many descriptor files pom.xml, settings.xml multiprojects are an added multiprojects afterthought embedded use is an afterthought ad-hoc build lifecycle defined build lifecycle reworked the internals faster jelly script plugins java plugins
  • 26. maven 2 maven 3 new repository layout drops maven 1 layout pom.xml, settings.xml drops profiles.xml added multiprojects added embedder embedded use is an removed reporting afterthought defined build lifecycle parallel builds reworked the internals reworked the internals faster faster java plugins same java API
  • 31. Comes What next?
  • 34. Compatibility notes: cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html Site plugin notes: cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html Polyglot Maven: github.com/sonatype/polyglot-maven Maven Shell: github.com/sonatype/mvnsh
  • 35. Thanks for your pictures! Great Beyond: http://www.flickr.com/photos/tonyjcase/2191160470/ Dunechaser: http://www.flickr.com/photos/dunechaser/3385957499/ fedfil: http://www.flickr.com/photos/fedfil/1196374459/ eyesore9: http://www.flickr.com/photos/eyesore9/4502273643 steveIOW: http://www.flickr.com/photos/steveiow/3875381817/ Daniel Hoherd: http://www.flickr.com/photos/warzauwynn/2167374017/ James Jordan: http://www.flickr.com/photos/jamesjordan/187232931/ prettydaisies: http://www.flickr.com/photos/prettydaisies/327192177/ Hartwig HKD http://www.flickr.com/photos/h-k-d/3629569854/ Ernest Figueras: http://www.flickr.com/photos/ernestfigueras/5284736179/ Used under CC license
  • 36. consulting for agile software development nilistics.net

Notes de l'éditeur

  1. Set expectations.\nMaven3 for Maven users.\nHow many of you know maven? use it? like it?\n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. Plugins with explicit versions\nNo metaversion (LATEST &amp; RELEASE)\n--&gt; Build stability (inmune to new plugin releases)\n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n