Objectifs de la formation Maven 3
Maven est un outil logiciel libre pour la gestion de cycle de vie des projets java. C’est un acteur majeur dans le monde java EE. De la création au déploiement sur serveur en passant par la documentation, Maven offre un ensemble de fonctionnalités utiles pour la normalisation et l’automatisation des différentes tâches de projets. Les participants à cette formation Maven 3 seront en mesure de mettre en place Maven sur des projets de toutes tailles, naissants ou déjà existants, et de mettre en place le multi-projet pour s’intégrer aux projets Web.
Cette formation Maven 3 vous permettra de:
- Comprendre le cycle de vie d’un projet.
- Appréhender les concepts de MAVEN.
- Structurer un projet MAVEN.
- Définir le modèle objet de projet.
- Maîtriser les cycles de vie.
- Connaître les étapes d’une configuration.
- Mettre en place les dépôts.
- Gérer les dépendances et les repositories
- Organiser les relations entre projets.
- Gérer et mettre en place des profils.
- Intégrer les plugins.
- Produire et publier un livrable.
- Mettre en oeuvre l’intégration continue.
À qui s’adresse cette formation ?
Public :
Cette formation Maven s’adresse aux architectes, développeurs et chefs de projet.
Prérequis :
Pour mener à bien cette formation Maven 3 il est recommandé d’avoir des connaissances de Java, JEE.
Contenu du cours Maven 3
Présentation de Maven 3
Objectifs
Principes
Positionnement par rapport à d’autres outils (ant)
Mise en Place d’un premier projet
Installation de Maven
Création d’un projet : création automatique, manuelle, création d’un archetype
Les commandes
La structure des répertoires
Le POM (Project Object Model)
Les principes
Détails des différents éléments du POM : coordonnées, modules, dépendances, paramètres du projet, paramètres du build, les profiles
La construction du projet
Cycle de vie d’un projet
Les principaux plugins et leurs GOALS
La gestion des dépendances d’un projet
Documentation de Maven 3
La génération et personnalisation du site
Les rapports additionnels
Le tableau de bord
Intégration avec les outils de développement
Intégration IDE (Eclipse, NetBeans)
Intégration SCM (CVS, SVN)
Intégration, développement de plug-ins
Le Multiprojet
Structure modulaire
Pom Parent
Héritage et modules
Prepository partagé
Les limites du repository central
Les solutions du repository partage
Configuration de nexus Maven Repository Manager
Travaux Pratiques
TP1 (prise en main)
On se familiarise avec Maven que l’on installe, on découvre le fichier pom, on aborde les principales commandes Maven et la notion de repository local. On créé un premier projet simple
TP2 (dépendances)
Ce TP permet de voir les techniques classiques de gestion des dépendances :
• Déclaration basique des dépendances dans le pom projet
• Utilisation d’un POM parent mutualisant les librairies communes et les n° de version
• Utilisation de groupe de dépendances
TP3 (configuration cycle de vie, profiles)
Ce TP permet d’aborder les points suivants :
• Application de filtres sur le répertoire ressources
• Création d‘un profiles (exemple de profile « production » qui surcharge la configuration par défaut)
• Assemblage pour la création d’une distribution
• Utilisation de groupe de dépendances
TP4 (Application Web)
Ce TP permet de :
• Découvrir le nouveau package war
• Découvrir le plugin Jetty
• Utiliser le scope provided
• Créer une distribution war
TP5 (projets multi-modules)
Ce TP permet de mettre en place un projet Maven multi-modules qui produit deux applications :
• Un outil utilisable via une commande en ligne permettant de questionner la météo Yahoo
• Une application web qui propose une interface web pour faire la même chose.
Les deux applications stockent les résultats dans une base de données et utilisent la même logique applicative et de persistance:
TP6 (gestion de release)
Ce TP permet de se familiariser avec les plugins SCM, Release et Deploy. Nous repartons du TP précédent afin de :
• Déployer dans un dépôt privé « corporate »
• Configurer un server SVN
• Mettre au point le process de distribution de release