SlideShare uma empresa Scribd logo
1 de 21
MavenMise en bouche
La philosophie Maven Extensibilité Réutilisabilité Standardisation du cycle de vie => Faciliter le multi projet avec multi équipes
Maven vu par Le pessimiste : Un Outil pour les compiler tous, Un Outil pour les tester,Un Outil pour les assembler tous et dans les artefact les lier L’optimiste : Le couteau suisse du Build
vs Round 1 : Revue des arguments anti maven
Ant est plus flexible  Mavenest flexible mais propose des conventions par défauts et des points d’extensions quand c’est nécessaire
Avec Ant je fais des choses que Maven ne peut pas faire Mais est-ce vraiment nécessaire ?
Tout les projets ne sont pas pareils  Oui mais il existe un cadre commun à tout les projets, allant de la gestion des versions aux tests en passant par le déploiement Maven gère jar, war, ear, jnlp, zip, pom etc… (Pour les .trucmuche, à vous de l’implémenter)
j'ai déjà développé 70 scripts Ant qui marchent, pourquoi changer ? Et vous voulez les maintenir toute votre vie ?
Je ne maitrise plus mes dépendances « Sans maitrise la puissance n’est rien » Bonnes pratiques à respecter : Fixer les versions des plugins Utiliser le DependencyManagement Utiliser le PluginManagement Avoir son propre repository (Nexus)
vs Round 2 : Peut-on vraiment les comparer ?
Objectifs  Ant = boite à outils Maven = boite à patterns Ant != Maven
vs Match nul : Ca n’adresse pas les mêmes problèmes (Et hop, voila comment éviter la polémique)
Ok alors pourquoi maven ?
Maven : les plus une arborescence standard, le SDL  une gestion des dépendances entre projet une gestion des versions une gestion du reporting un cycle de vie standardisé des plugins…
Maven : le SDL Facilite l’arrivée sur un nouveau projet Propose des conventions  Séparation test et source Filtrage des fichiers de configuration Fichiers source générés dans target Etc… Facilite l’intégration de plugins
Maven : la gestion des dépendances Des scopes de compilation compile provided runtime test Des dépendances transitives
Maven : la gestion des versions Une convention de nommage 1.0.0 (version stable) 1.0.0-SNAPSHOT (version de dev) 1.0.0-RC1  (version candidate à la release) Des versions automatique avec mvnrelease
Maven : la gestion du reporting Tests unitaires, couverture de code Code review automatique avec CheckStyle et PMD Rapport de dépendances Javadoc Etc…
Maven : Un cycle de vie
Maven : Des plugins Signer un jar Construire un bundle OSGI Générer des beans via une XSD Générer un client WS Il y a un plugin pour cela
What'snext Diapo supprimée, il s’agissait du plan d’action pour la mise en place chez mon client actuel

Mais conteúdo relacionado

Semelhante a Maven

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
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration ContinueNormandy JUG
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebChristophe Rochefolle
 
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
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transcolaurent_opnworks
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013Stephane Manciot
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
Realworld cd pipelines
Realworld cd pipelines Realworld cd pipelines
Realworld cd pipelines TREEPTIK
 
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vieJean-Philippe Briend
 
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vieJean-Philippe Briend
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsOCTO Technology
 
Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2teejug
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 

Semelhante a Maven (20)

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
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration Continue
 
Soiree Maven 2
Soiree Maven 2Soiree Maven 2
Soiree Maven 2
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
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
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transco
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
Realworld cd pipelines
Realworld cd pipelines Realworld cd pipelines
Realworld cd pipelines
 
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
 
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011
 

Maven

  • 2. La philosophie Maven Extensibilité Réutilisabilité Standardisation du cycle de vie => Faciliter le multi projet avec multi équipes
  • 3. Maven vu par Le pessimiste : Un Outil pour les compiler tous, Un Outil pour les tester,Un Outil pour les assembler tous et dans les artefact les lier L’optimiste : Le couteau suisse du Build
  • 4. vs Round 1 : Revue des arguments anti maven
  • 5. Ant est plus flexible Mavenest flexible mais propose des conventions par défauts et des points d’extensions quand c’est nécessaire
  • 6. Avec Ant je fais des choses que Maven ne peut pas faire Mais est-ce vraiment nécessaire ?
  • 7. Tout les projets ne sont pas pareils Oui mais il existe un cadre commun à tout les projets, allant de la gestion des versions aux tests en passant par le déploiement Maven gère jar, war, ear, jnlp, zip, pom etc… (Pour les .trucmuche, à vous de l’implémenter)
  • 8. j'ai déjà développé 70 scripts Ant qui marchent, pourquoi changer ? Et vous voulez les maintenir toute votre vie ?
  • 9. Je ne maitrise plus mes dépendances « Sans maitrise la puissance n’est rien » Bonnes pratiques à respecter : Fixer les versions des plugins Utiliser le DependencyManagement Utiliser le PluginManagement Avoir son propre repository (Nexus)
  • 10. vs Round 2 : Peut-on vraiment les comparer ?
  • 11. Objectifs Ant = boite à outils Maven = boite à patterns Ant != Maven
  • 12. vs Match nul : Ca n’adresse pas les mêmes problèmes (Et hop, voila comment éviter la polémique)
  • 13. Ok alors pourquoi maven ?
  • 14. Maven : les plus une arborescence standard, le SDL une gestion des dépendances entre projet une gestion des versions une gestion du reporting un cycle de vie standardisé des plugins…
  • 15. Maven : le SDL Facilite l’arrivée sur un nouveau projet Propose des conventions Séparation test et source Filtrage des fichiers de configuration Fichiers source générés dans target Etc… Facilite l’intégration de plugins
  • 16. Maven : la gestion des dépendances Des scopes de compilation compile provided runtime test Des dépendances transitives
  • 17. Maven : la gestion des versions Une convention de nommage 1.0.0 (version stable) 1.0.0-SNAPSHOT (version de dev) 1.0.0-RC1 (version candidate à la release) Des versions automatique avec mvnrelease
  • 18. Maven : la gestion du reporting Tests unitaires, couverture de code Code review automatique avec CheckStyle et PMD Rapport de dépendances Javadoc Etc…
  • 19. Maven : Un cycle de vie
  • 20. Maven : Des plugins Signer un jar Construire un bundle OSGI Générer des beans via une XSD Générer un client WS Il y a un plugin pour cela
  • 21. What'snext Diapo supprimée, il s’agissait du plan d’action pour la mise en place chez mon client actuel