Introduction
- Les fonctionnalités clés de Maven
- Historique des outils de build depuis le script shell
- Positionnement vis à vis de ses concurrents
- Détail de la règle du «Convention over configuration» et de ses implications pour les développeurs
Le POM (Project Object Model)
- Détail de la fiche projet : le fichier pom.xml et des coordonnés Maven
- Le «super POM» et les mécanismes d'héritage (avec le pom parent)
- Exploration de la structure des projets Maven
- Les types de projets Maven (Simple, Web, d'Entreprise, ...) et la gestion multi-modules
Repository Maven et coordinations
- Gestion du stockage des librairies utilisées
- Repository local et les Remote Repository
- Les Repository Manager (Archiva, Nexus, Artifactory, etc)
Mise en place de Maven
- Installation et configuration de Maven
- Les options de configuration du fichier 'settings.xml'
- Configuration du repository manager Sonatype Nexus
Modèle de gestion des dépendances
- L'ensemble des portées ('scope')
- Gestion des versions
- Transitivité et exclusion
Première mise en œuvre
- Création d'une première construction Maven pour un projet Java et un projet Web multi-modules
Le cycle de construction d'un projet
- Détail des différents cycles de construction
- Savoir rattacher les goals des plugins aux phases des cycles de vie
Exécution de plugins
- Maven : une plateforme d'exécution de plugins
- Panorama des plugins les plus utiles
- Configuration des plugins dans le but d'enrichir le cycle de construction
Archetype et Assemblies
- La notion de squelette de projet
- Panorama des archetypes les plus utiles
- Détail l'assembly et exemple de mise en oeuvre
La gestion de configuration
- Communication avec un gestionnaire de sources
- Fabrication d'un livrable et détail des pré-requis
- Mise en œuvre avec GIT
Intégration de Maven dans les IDE
- Les différents modes d'intégration
- Mise en pratique du plugin Eclipse m2eclipse pour une utilisation quotidienne
L'exécution des tests
- Les différentes options et l’exécution parallèle
- Exemple de tests d’intégration avec Selenium
Exemple de mise en oeuvre de Maven depuis Jenkins
- Utilisation de Maven depuis un job freestyle
- Le type de job Maven (avantages et inconvénients)
- Focus sur l’analyse des dépendances de composants Maven et l’enchaînement de build des jobs Jenkins