1 / 22

Présentation de Maven 2

Présentation de Maven 2. Outil de build et de gestion de projet. Plan de la présentation. Principe de Maven 2 Le POM Architecture de Maven 2 Les principaux plugins. Historique. Top projet Apache : http://maven.apache.org Version actuelle : 2.0.6, mais la 1.x est encore maintenue

nerita
Download Presentation

Présentation de Maven 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation de Maven 2 Outil de build et de gestion de projet Denis Cabasson – Présentation de Maven 2

  2. Plan de la présentation • Principe de Maven 2 • Le POM • Architecture de Maven 2 • Les principaux plugins Denis Cabasson - Présentation de Maven 2

  3. Historique • Top projet Apache : http://maven.apache.org • Version actuelle : 2.0.6, mais la 1.x est encore maintenue • Créé il y a 5 ans pour gérer le build de turbine (framework de portail web de jakarta) • 1.x : gère le build de tous les projets Apache2.x : gère le build de Geronimo, Struts, Maven • Créé par Jason Van Zyl (Mergere) Denis Cabasson - Présentation de Maven 2

  4. Principe de Maven 2 • Gestion du build de projet : semblable à Ant • Déclaration plutôt que construction du build • Meta données complètes sur le projet Denis Cabasson - Présentation de Maven 2

  5. Principe de Maven 2 Code Source Processus de Build Artefact Denis Cabasson - Présentation de Maven 2

  6. process-sources Principe de Maven 2 generate-sources Code Source process-resources compile test-compile test package Artefact integration-test verify install Denis Cabasson - Présentation de Maven 2

  7. Le POM Un projet est décrit par un fichier XML mettant le projet en place, appelé POM (Projet Object Model) Principe de « convention over configuration » Denis Cabasson - Présentation de Maven 2

  8. Le POM Denis Cabasson - Présentation de Maven 2

  9. Le POM : Arborescence par défaut Denis Cabasson - Présentation de Maven 2

  10. Le POM : Gestion des dépendances • Partie dependencies du POM • Référentiel des artefacts : définition par groupId / artifactId / packaging / version • Résolution des dépendances transitives • Construction du classpath • Scopes possibles : compile, test, runtime, provided Denis Cabasson - Présentation de Maven 2

  11. Le POM : Hiérarchies de projets • Projets parents définissant les défauts • Projets aggrégateurs orchestrant les modules • Sous répertoire par module enfant Denis Cabasson - Présentation de Maven 2

  12. Denis Cabasson - Présentation de Maven 2

  13. Plugin Plugin Plugin Plugin Plugin Plugin Mojo Mojo Mojo Mojo Mojo Mojo Mojo Mojo Mojo Mojo Mojo Mojo Architecture de Maven 2 Gestion des dépendances POM Cycle de vie du projet Denis Cabasson - Présentation de Maven 2

  14. Architecture de Maven 2 Denis Cabasson - Présentation de Maven 2

  15. Architecture : Parallèle avec Eclipse Maven POM : compile package assembly Code Source Code compilé Jar du projet Artefact .classpath Export Assemblage manuel Eclipse Denis Cabasson - Présentation de Maven 2

  16. Les principaux plugins Denis Cabasson - Présentation de Maven 2

  17. Maven-eclipse-plugin • Génère les meta-données eclipse à partir du POM (.classpath, .project) • Compatible WTP (.components) • Liaison avec les jars de sources • Maven-netbeans-plugin également disponible Denis Cabasson - Présentation de Maven 2

  18. Maven-assembly-plugin • Créé un artefact (zip,jar, …) pour déploiement et distribution • Configuration par un descripteur XML • Possibilité d’inclure les dépendances Denis Cabasson - Présentation de Maven 2

  19. Maven-site-plugin • Génération d’un site de documentation à partir du POM et de données complémentaires • Mise en page de site (moteur de template) formats d’entrée : xdoc, apt, fml • Déploiement du site Denis Cabasson - Présentation de Maven 2

  20. Maven-release-plugin • Gère la publication de versions du projets • Enchaîne automatiquement les taches nécessaires : • Contrôle par rapport au SCM • Mise en place des versions stables • Vérification du build • Tag sur le SCM • Repassage en version de développement • Publication des packages à l’aide de la version tagguée Denis Cabasson - Présentation de Maven 2

  21. Autres projets de Maven • Continuum : Serveur d’intégration continue • Archiva : Gestion des référentiels • Modello : Génération de modèles XML • SCM : Intégration avec le SCM • Wagon : Outil de transfert • Doxia : génération de contenu Denis Cabasson - Présentation de Maven 2

  22. Plus d’informations • http://java.developpez.com/faq/maven/ • http://maven.apache.org Denis Cabasson - Présentation de Maven 2

More Related