une (simple) présentation de apache maven 2
TRANSCRIPT
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 Maven1. Simplifier le build
2. Système de build uniforme
3. Information de qualité sur le projet
4. Best practices
5. 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 !