Tarifs: A distance ou présentiel: 1196 euros
Durée : 2 jours
Public : Tous
Pré-requis : Connaissance de Java
Objectifs : Connaître les enjeux et possibilités de Maven dans une équipe de développement - Etre capable de mettre en place et maintenir de multiples projets avec Maven
Référence : JAV167-F
PROGRAMME:
Découvrir Maven
- Maven : présentation, historique
- Fonctions : build, gestion des dépendances, tests, documentation, liaison avec des outils,...
- Maven vs outils de build
- Description du projet : POM (Project Object Model)
- Super POM, Héritage de POMs
- Projet multi-modules
- Repository local et repository distant
- Maven et les IDEs : Eclipse, Netbeans,...
Atelier : Installation de Maven et configurations des référentiels (repositories)
Construire un projet avec Maven
- Structure d'un projet ou d'un module
- Modèles de projets (Archetype)
- Principaux Plugins, Goals
- Tests unitaires, d'intégration
- Cycle de vie : compilation, test, assemblage, déploiement,...
- Découpage d'un projet en modules
- Encodage des fichiers : sources, ressources
- Gestion des versoins, snapshots
- Les profils
- Empaquettage Déploiement d'un projet sur un serveur d'applications
- Déploiement par copie : ssh, ftp
- Maven et SCM (Source Code Management) : SVN, CVS, Git
- Maven et l'intégration continue (Jenkins)
Atelier : création et gestion de projets Java/JEE dans un contexte d'intégration continue
Gérer les dépendances du projet
- Déclaration de dépendance, portées
- Dépendances transitives, dépendance optionnelles
- Gestion des versions (patterns)
- Gestion des conflits
- Enregistrer un projet/ une archive en tant que dépendance dans le repository
Atelier : paramétrage de dépendances et gestion de conflits
Stocker les dépendances
- Limites du default repository
- Proxy Repositories
- Gestion de priorités
- Outils de gestion de repositories
Atelier : utilisation d'un proxy repository : Nexus ou Artifactory...
Générer le site web et des rapports du projet
- Génération d'un site Maven (mvn site)
- Plugin site et personnalisations
- Rapports de tests (surfire)
- Checkstyle, changelog, changes
- PMD / CMD
- Documentation technique (JavaDoc), sources (JXR)
- Qualimétrie : Maven et Sonar
Atelier : Génération du site et de différents rapports sur le projet
Synthèse, Bonnes pratiques