SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13 mai 2008 www.parisjug.org www.parisjug.org
Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13 mai 2008 Maven à la demandeUne heure pour répondre à toutes vos questions Arnaud Héritier Expert Senior OCTO Technology www.parisjug.org
www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Une heure pour répondre à toutes vos questions !! Enfin, celles dont je connais la réponse.
Intervenant www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Arnaud Héritier Tombé dans la marmite tout petit, Ingénieur depuis 1999, Projets Java & JEE avec diverses casquettes (Développeur, Architecte, Chef de projet, Expert), Développeur sur le projet Apache Maven depuis 2004, Membre du comité de direction du projet depuis 2005.
Sommaire www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Maven et sacommunauté. La gestion des repositories La gestion des plugins La gestion des dépendances Multi-environnements & Multi-modules Maven & Eclipse L’avenir
La communauté www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Il y a eu un moment de flou où Maven n'a pas subit beaucoup d'évolutions, cela correspondait avec le démantèlement de Mergere.  Qui tire les ficelles ? Qui commit, qui dirige, c'est qui le boss ?
Maven : Carte d’identité www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Project Lead : Jason Van Zyl Créé en 2002  Extraction du projet Turbine  L’équipe en mai 2008 : 72 Committers enregistrés (~50 actifs entre mai 2007 et mai 2008, archiva et continuum compris) dont 22 PMC Members
La communauté www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Le passage/ La rupture de maven 1 à maven 2 : Les impacts ? La disparition de Jelly vs les plugins full Java La fuite des utilisateurs vers les systèmes concurrents BuildR, Gant, ???
Les repositories www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Y a-t-il vraiment un repository officiel ? Comment un repository devient-il officiel ? Si je veux rendre les jars de mon projet open source visible dans les repositoriesMaven, comment dois-je m'y prendre ? Archiva et Maven, les frères ennemis ou Dupont et Dupond ?
Les repositories www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment gérer les librairies non distribuables donc absentes du repository public de maven ?  Quels sont les droits d'utilisations de ces librairies si on s'en sert dans nos projets ? Y'a t-il un site qui référence (et permet de télécharger et d'installer par nous même) ces librairies exotiques non distribuables ou tout simplement absentes du repo maven ?
Les repositories Poste de travail Poste de travail Maven Maven Maven Référentiel de librairies local + sites Référentiel de librairies local Référentiel de librairies local Référentiel central de l’entreprise Référentiels de  librairies distant Proxy www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Entreprise Internet Usine de  développement
Les plugins www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment faire le tri parmi les repositories contenant le même plugin avec des versions différentes, qui ne sont plus maintenues...  Quel est le repository officiel d'un plugin ? Comment trouver un plugin ? www.mvnrepository.com www.mvnindex.org Via les documentations sur maven.apache.org, mojo.codehaus.org, … (google est votre ami)
Les plugins www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment gérer la déclaration multiple de la version des sources (1.4, 1.5) selon les différents plugins ? Toolchains (dès que dispo) et en attendant un pom parent avec des properties Certains plugins ne sont pas dispo sur le repo maven (repo1.maven.org). Serait-il possible de faire un aperçu des différentes configurations possibles et des bests practices pour que ces plugins puissent être utilisés ?
Les dépendances www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment trouver une librairie ? Comment se dépatouiller avec les dépendances cycliques ? Meilleur débogage des dépendances ? (Warning en cas de doublon)
dependency:tree www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique arnaud$ mvndependency:tree [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'dependency'. [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Artifact [INFO]    task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree] [INFO] org.apache.maven.artifact:maven-artifact:jar:3.0-SNAPSHOT [INFO] +- org.codehaus.plexus:plexus-utils:jar:1.4.5:compile [INFO] +- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-44:compile [INFO] |  +- org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:compile [INFO] |   junit:junit:jar:3.8.1:compile [INFO] +- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile [INFO] +- aspectj:aspectjrt:jar:1.5.3:compile [INFO] +- org.apache.maven.wagon:wagon-file:jar:1.0-beta-2:test [INFO] +- easymock:easymock:jar:1.2_Java1.3:test [INFO]  net.sf.retrotranslator:retrotranslator-runtime:jar:1.2.1:compile [INFO]     backport-util-concurrent:backport-util-concurrent:jar:3.0:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4 seconds [INFO] Finished at: Tue May 12 12:09:43 CEST 2008 [INFO] Final Memory: 10M/19M [INFO] ------------------------------------------------------------------------
dependency:analyze www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique octo-ahe:artifactarnaud$ mvndependency:analyze [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'dependency'. [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Artifact [INFO]    task-segment: [dependency:analyze] [INFO] ------------------------------------------------------------------------ [INFO] Preparing dependency:analyze  … [INFO] [dependency:analyze] [WARNING] Used undeclared dependencies found: [WARNING]    junit:junit:jar:3.8.1:compile [WARNING]    org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:compile [WARNING] Unused declared dependencies found: [WARNING]    net.sf.retrotranslator:retrotranslator-runtime:jar:1.2.1:compile [WARNING]    aspectj:aspectjrt:jar:1.5.3:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11 seconds [INFO] Finished at: Tue May 12 12:12:11 CEST 2008 [INFO] Final Memory: 25M/47M [INFO] ------------------------------------------------------------------------
Les dépendances www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment gérer la gestion des dépendances lorsque qu'on veut tirer une dépendance si et seulement si le projet qui m'utilise ne la tire pas déjà (utile pour les projets de type framework) ?
Multi-x www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Doit on packager les fichiers de configuration d'environnement dans un ear ? Si oui, comment ? Existe-il des bonnes pratiques pour la gestion multi-modules ?  Comment vérifier la cohérence des versions de dépendances communes à plusieurs modules ?
Eclipse www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Support du développement de plugin Eclipse Quelles sont les bonnes pratiques pour les projets PDE d'eclipse (plugins, projets d'update site, ...) ? Comment packager une application RCP Eclipse avec Maven? Compatibilité Maven / OSGI … Vos réponses : http://www.eclipsecon.org/2008/index.php?page=sub/&id=7
Eclipse www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Quel plugin utiliser pour développer une application à la fois avec maven et eclipse ?
L’avenir www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique J'aimerais bien avoir un point sur le support des tests d'intégration dans M2. J'avais entendu qu'un jour Maven supporterait de base un répertoire src/it/java, c'est toujours d'actualité ? (ou peut-être déjà fait) Support des bundles OSGI dans les types de packaging ? JAM ? Et plus généralement, qu'y-a-til dans la roadmap de Maven2 ?
L’avenir www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Je ne pense pas que Maven 3 soit prévu pour l'instant (Arnaud ?), mais il a été évoqué l'utilisation de Spring en lieu et place de Plexus pour le container, alors, M3 = M2 + Spring? http://docs.codehaus.org/display/MAVEN/
Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Questions / Réponses Encore ??? www.parisjug.org
Sponsors www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Merci de votre attention! www.parisjug.org
Licence www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

Weitere ähnliche Inhalte

Ähnlich wie 20080513 - Paris Jug - Maven à La Demande

20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
Formation Play! framework
Formation Play! frameworkFormation Play! framework
Formation Play! frameworkBenoît Simard
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live codingmatparisot
 
Session Spring et TDD du ParisJUG
Session Spring et TDD du ParisJUGSession Spring et TDD du ParisJUG
Session Spring et TDD du ParisJUGChristian Blavier
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceChristian Charreyre
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
 
Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Modern Data Stack France
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3Nicolas Lœuillet
 
Webinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdfWebinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdfJulien Dereumaux
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPatelier111
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009JUG Lausanne
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRayf.morin
 
Distribuer une librairie via maven
Distribuer une librairie via mavenDistribuer une librairie via maven
Distribuer une librairie via mavenFranck SIMON
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantpprem
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Javatcouery
 

Ähnlich wie 20080513 - Paris Jug - Maven à La Demande (20)

20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
Formation Play! framework
Formation Play! frameworkFormation Play! framework
Formation Play! framework
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live coding
 
Session Spring et TDD du ParisJUG
Session Spring et TDD du ParisJUGSession Spring et TDD du ParisJUG
Session Spring et TDD du ParisJUG
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)Talend Open Studio for Big Data (powered by Apache Hadoop)
Talend Open Studio for Big Data (powered by Apache Hadoop)
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3
 
Webinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdfWebinar - Maintenance d'un site WordPress en agence.pdf
Webinar - Maintenance d'un site WordPress en agence.pdf
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
GWT no-dto
GWT no-dtoGWT no-dto
GWT no-dto
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009
 
Apache Maven 3
Apache Maven 3Apache Maven 3
Apache Maven 3
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRay
 
Distribuer une librairie via maven
Distribuer une librairie via mavenDistribuer une librairie via maven
Distribuer une librairie via maven
 
Un introduction à Pig
Un introduction à PigUn introduction à Pig
Un introduction à Pig
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Java
 

Mehr von Arnaud Héritier

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMAArnaud 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 trackArnaud 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 railsArnaud Héritier
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vnArnaud Héritier
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory OverviewArnaud Héritier
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieArnaud 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 promisesArnaud Héritier
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkinsArnaud Héritier
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory OverviewArnaud Héritier
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentationArnaud Héritier
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXoArnaud Héritier
 
Jenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsJenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsArnaud Héritier
 
ToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesArnaud 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 promisesArnaud Héritier
 
BordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesBordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesArnaud 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 promisesArnaud Héritier
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationArnaud Héritier
 
LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?Arnaud Héritier
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenArnaud Héritier
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenArnaud Héritier
 

Mehr von 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
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentation
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXo
 
Jenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsJenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of Jenkins
 
ToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promises
 
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
 
BordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesBordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-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
 
LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live 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
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
 

20080513 - Paris Jug - Maven à La Demande

  • 1. Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13 mai 2008 www.parisjug.org www.parisjug.org
  • 2. Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13 mai 2008 Maven à la demandeUne heure pour répondre à toutes vos questions Arnaud Héritier Expert Senior OCTO Technology www.parisjug.org
  • 3. www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Une heure pour répondre à toutes vos questions !! Enfin, celles dont je connais la réponse.
  • 4. Intervenant www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Arnaud Héritier Tombé dans la marmite tout petit, Ingénieur depuis 1999, Projets Java & JEE avec diverses casquettes (Développeur, Architecte, Chef de projet, Expert), Développeur sur le projet Apache Maven depuis 2004, Membre du comité de direction du projet depuis 2005.
  • 5. Sommaire www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Maven et sacommunauté. La gestion des repositories La gestion des plugins La gestion des dépendances Multi-environnements & Multi-modules Maven & Eclipse L’avenir
  • 6. La communauté www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Il y a eu un moment de flou où Maven n'a pas subit beaucoup d'évolutions, cela correspondait avec le démantèlement de Mergere. Qui tire les ficelles ? Qui commit, qui dirige, c'est qui le boss ?
  • 7. Maven : Carte d’identité www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Project Lead : Jason Van Zyl Créé en 2002 Extraction du projet Turbine L’équipe en mai 2008 : 72 Committers enregistrés (~50 actifs entre mai 2007 et mai 2008, archiva et continuum compris) dont 22 PMC Members
  • 8. La communauté www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Le passage/ La rupture de maven 1 à maven 2 : Les impacts ? La disparition de Jelly vs les plugins full Java La fuite des utilisateurs vers les systèmes concurrents BuildR, Gant, ???
  • 9. Les repositories www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Y a-t-il vraiment un repository officiel ? Comment un repository devient-il officiel ? Si je veux rendre les jars de mon projet open source visible dans les repositoriesMaven, comment dois-je m'y prendre ? Archiva et Maven, les frères ennemis ou Dupont et Dupond ?
  • 10. Les repositories www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment gérer les librairies non distribuables donc absentes du repository public de maven ? Quels sont les droits d'utilisations de ces librairies si on s'en sert dans nos projets ? Y'a t-il un site qui référence (et permet de télécharger et d'installer par nous même) ces librairies exotiques non distribuables ou tout simplement absentes du repo maven ?
  • 11. Les repositories Poste de travail Poste de travail Maven Maven Maven Référentiel de librairies local + sites Référentiel de librairies local Référentiel de librairies local Référentiel central de l’entreprise Référentiels de librairies distant Proxy www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Entreprise Internet Usine de développement
  • 12. Les plugins www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment faire le tri parmi les repositories contenant le même plugin avec des versions différentes, qui ne sont plus maintenues... Quel est le repository officiel d'un plugin ? Comment trouver un plugin ? www.mvnrepository.com www.mvnindex.org Via les documentations sur maven.apache.org, mojo.codehaus.org, … (google est votre ami)
  • 13. Les plugins www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment gérer la déclaration multiple de la version des sources (1.4, 1.5) selon les différents plugins ? Toolchains (dès que dispo) et en attendant un pom parent avec des properties Certains plugins ne sont pas dispo sur le repo maven (repo1.maven.org). Serait-il possible de faire un aperçu des différentes configurations possibles et des bests practices pour que ces plugins puissent être utilisés ?
  • 14. Les dépendances www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment trouver une librairie ? Comment se dépatouiller avec les dépendances cycliques ? Meilleur débogage des dépendances ? (Warning en cas de doublon)
  • 15. dependency:tree www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique arnaud$ mvndependency:tree [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'dependency'. [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Artifact [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree] [INFO] org.apache.maven.artifact:maven-artifact:jar:3.0-SNAPSHOT [INFO] +- org.codehaus.plexus:plexus-utils:jar:1.4.5:compile [INFO] +- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-44:compile [INFO] | +- org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:compile [INFO] | junit:junit:jar:3.8.1:compile [INFO] +- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile [INFO] +- aspectj:aspectjrt:jar:1.5.3:compile [INFO] +- org.apache.maven.wagon:wagon-file:jar:1.0-beta-2:test [INFO] +- easymock:easymock:jar:1.2_Java1.3:test [INFO] net.sf.retrotranslator:retrotranslator-runtime:jar:1.2.1:compile [INFO] backport-util-concurrent:backport-util-concurrent:jar:3.0:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4 seconds [INFO] Finished at: Tue May 12 12:09:43 CEST 2008 [INFO] Final Memory: 10M/19M [INFO] ------------------------------------------------------------------------
  • 16. dependency:analyze www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique octo-ahe:artifactarnaud$ mvndependency:analyze [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'dependency'. [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Artifact [INFO] task-segment: [dependency:analyze] [INFO] ------------------------------------------------------------------------ [INFO] Preparing dependency:analyze … [INFO] [dependency:analyze] [WARNING] Used undeclared dependencies found: [WARNING] junit:junit:jar:3.8.1:compile [WARNING] org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:compile [WARNING] Unused declared dependencies found: [WARNING] net.sf.retrotranslator:retrotranslator-runtime:jar:1.2.1:compile [WARNING] aspectj:aspectjrt:jar:1.5.3:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11 seconds [INFO] Finished at: Tue May 12 12:12:11 CEST 2008 [INFO] Final Memory: 25M/47M [INFO] ------------------------------------------------------------------------
  • 17. Les dépendances www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Comment gérer la gestion des dépendances lorsque qu'on veut tirer une dépendance si et seulement si le projet qui m'utilise ne la tire pas déjà (utile pour les projets de type framework) ?
  • 18. Multi-x www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Doit on packager les fichiers de configuration d'environnement dans un ear ? Si oui, comment ? Existe-il des bonnes pratiques pour la gestion multi-modules ? Comment vérifier la cohérence des versions de dépendances communes à plusieurs modules ?
  • 19. Eclipse www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Support du développement de plugin Eclipse Quelles sont les bonnes pratiques pour les projets PDE d'eclipse (plugins, projets d'update site, ...) ? Comment packager une application RCP Eclipse avec Maven? Compatibilité Maven / OSGI … Vos réponses : http://www.eclipsecon.org/2008/index.php?page=sub/&id=7
  • 20. Eclipse www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Quel plugin utiliser pour développer une application à la fois avec maven et eclipse ?
  • 21. L’avenir www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique J'aimerais bien avoir un point sur le support des tests d'intégration dans M2. J'avais entendu qu'un jour Maven supporterait de base un répertoire src/it/java, c'est toujours d'actualité ? (ou peut-être déjà fait) Support des bundles OSGI dans les types de packaging ? JAM ? Et plus généralement, qu'y-a-til dans la roadmap de Maven2 ?
  • 22. L’avenir www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Je ne pense pas que Maven 3 soit prévu pour l'instant (Arnaud ?), mais il a été évoqué l'utilisation de Spring en lieu et place de Plexus pour le container, alors, M3 = M2 + Spring? http://docs.codehaus.org/display/MAVEN/
  • 23. Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Questions / Réponses Encore ??? www.parisjug.org
  • 24. Sponsors www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  • 25. Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Merci de votre attention! www.parisjug.org
  • 26. Licence www.parisjug.org Maven à la demande 13/05/2008 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique http://creativecommons.org/licenses/by-nc-sa/2.0/fr/