Présentation
- Au delà d'un simple outil de Build. Le monde Maven : gestionnaire de sources, tests automatisés, documentation...
Mise en place d'un premier projet Maven
- Installation de Maven. Le POM (Project Object Model).
- Repository local et repository distant.
- Qu'est-ce qu'un plug-in Maven ? Qu'est-ce qu'un goal ?
- Structure standard d'un projet Maven. Contrôle du cycle de vie : installation, compilation, déploiement...
- Notions d'archétype, groupe, artefact, version, assemblies.
- Découpage d'un projet en modules.
- Héritage entre fichiers POM, le super-POM.
Exercice
Installation de Maven et création d'un premier projet Maven.
Les dépendances
- Notion de dépendance et de dépendance transitive.
- Déclaration des dépendances dans le POM.
- Comment résoudre un conflit de dépendances ?
Exercice
Paramétrage de dépendances simples et transitives.
Les repositories
- Limites du repository par défaut. Déclaration de plusieurs repositories. Gestion de priorités.
- Outils de gestion de repository (Nexus, Artifactory...).
Exercice
Migration d'un projet non structuré vers Maven. Paramétrage de dépendances et de repositories.
Utilisation courante
- Les core plug-ins : compiler, déployer, installer...
- Les plug-ins pour la génération d'applications JEE...
- Les versions. Les snapshots. Les profils.
- Maven et le travail en équipe. CVS SVN.
- Intégration de Maven aux IDE (Eclipse...).
- Génération de la documentation.
Exercice
Configuration du cycle de vie complet d'un projet.
Génération d'un site Maven
- Le plug-in site. Le site descriptor. Le site layout.
- Skins par défaut, création d'une Skin personnalisée.
Exercice
Génération d'un site personnalisé.
Les rapports Maven
- Génération de rapports sur les tests.
- Checkstyle, changelog, changes.
Exercice
Génération de rapports personnalisés.
Intégration continue
- Définition. Best Practices. Présentation de Jenkins comme serveur de Build et d'intégration continue. Configuration.
Exercice
Mise en place de Jenkins.