Une (simple) présentation de Apache Maven 2 Tareq Abed Rabbo TeeJUG - 26/4/2008
Plan <ul><li>Présentation </li></ul><ul><li>Création d’un projet </li></ul><ul><li>Cycle de vie </li></ul><ul><li>Gestion ...
C’est quoi Maven ? <ul><li>Apache Maven 2 </li></ul><ul><li>Outils open source pour la gestion et l’automatisation de prod...
Buts de Maven <ul><li>Simplifier le build </li></ul><ul><li>Système de build uniforme </li></ul><ul><li>Information de qua...
Pourquoi Maven ? <ul><li>Build </li></ul><ul><li>Test </li></ul><ul><li>Reporting </li></ul><ul><li>Gestion de dépendances...
Convention Over Configuration
Création d’une application
Structure de l’application
pom.xml
Un autre exemple
Cycle de vie <ul><li>Plusieurs cycles de vie standards </li></ul><ul><ul><li>clean, default, site </li></ul></ul><ul><li>U...
Choisir un cycle de vie <ul><li>Packaging </li></ul><ul><ul><li>jar, war, ear </li></ul></ul><ul><li>Plugins </li></ul><ul...
Cycle de vie validate compile test package
Gestion des dépendances <ul><li>Déclaration des dépendances : pom.xml </li></ul><ul><li>Dépendances transitives </li></ul>...
Dépendances
pom.xml
Structure de projet ? ? ?
Profils <ul><li>Modifier la configuration en fonction de l’environnement </li></ul><ul><ul><li>build </li></ul></ul><ul><u...
Problèmes <ul><li>Documentation moyenne </li></ul><ul><li>Intégrations avec les IDEs? </li></ul><ul><li>Utilisation avec d...
Merci !
Upcoming SlideShare
Loading in …5
×

Une (simple) présentation de Apache Maven 2

2,866 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,866
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
159
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Une (simple) présentation de Apache Maven 2

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

×