Une (simple) présentation de Apache Maven 2 Tareq Abed Rabbo TeeJUG - 26/4/2008
Plan Présentation Création d’un projet Cycle de vie Gestion de dépendances Profils Problèmes
C’est quoi Maven ? Apache Maven 2 Outils open source pour la gestion et l’automatisation de production des projets Java Commencé pour simplifier le build de Jakarta Turbine
Buts de Maven Simplifier le build Système de build uniforme Information de qualité sur le projet Best practices Intégrations de nouvelles fonctionnalités
Pourquoi Maven ? Build Test Reporting Gestion de dépendances Distribution
Convention Over Configuration
Création d’une application
Structure de l’application
pom.xml
Un autre exemple
Cycle de vie Plusieurs cycles de vie standards clean, default, site Un  cycle de vie  composé de  phases  exécutées séquentiellement Une  phase  est composé de  goals Un  goal  est une tâche simple Peut exister appartenir à 0..n  phase
Choisir un cycle de vie Packaging jar, war, ear Plugins Artifact qui fournit de nouvelles fonctionnalité Fournit un ou plusieurs  goal S’intègre avec le cycle de vie Exemples: génération de sources, tests, compliation
Cycle de vie validate compile test package
Gestion des dépendances Déclaration des dépendances : pom.xml Dépendances transitives Portée de dépendance Repository: Local Distant
Dépendances
pom.xml
Structure de projet ? ? ?
Profils Modifier la configuration en fonction de l’environnement build repositories dependencies  properties Activation Élément activation : jdk, os, property, file Ligne de commande : option –P Profils toujours actifs
Problèmes Documentation moyenne Intégrations avec les IDEs? Utilisation avec des projets existans? Dependency Hell  Optimisations: accès http, consistance
Merci !

Une (simple) présentation de Apache Maven 2