SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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
 

Último

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Último (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

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

Notas do Editor

  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