Maîtrisez la notion de plugin Maven et la valeur ajoutée d’un plugin dans un projet Maven. Comprenez la notion de ’Goal’ associée. Identifiez les deux grandes catégories de plugin : plugin de build et plugin de génération de rapports. Identifiez des fournisseurs de plugins (Maven, codehaus, google...) ainsi que la stratégie de configuration d’un plugin.
Découvrez le plugin d’aide ’help’ qui vous aidera à découvrir ce qu’un plugin sait faire. Comprenez enfin la stratégie de création d’un plugin.
Ce tutoriel est un extrait de séances pratiques de la formation MAVEN dispensée par Objis.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Nos tutoriaux pour vous initier
Page officielle des plugins Maven
Guide développement de plugin Maven
Guide configuration de plugin Maven
Pom FAQ Google
Compatibilité Maven 2.x / Maven 3.x
Génération de site avec Maven 3.x
Compatibilité des plugins Maven 3.x
Tutoriel Maven N°1 : Installation Maven
Comprendre la notion et le role d’un plugin maven
Mettre en oeuvre certains plugins
Comprendre le processus de création d’un plugin
Comprendre la configuration d’un plugin
+ de 100 tutoriaux java/jee Objis
Tutoriaux et formation MAVEN
Partie 1 : plugin et phases Maven
Partie 2 : ou trouvez un plugin ?
Partie 3 : Comprendre le plugin ’help’
Partie 4 : Comprendre la configuration d’un plugin
Partie 5 : Comprendre la création d’un plugin
30min
Dans Maven, toutes les taches sont réalisées par des plugins.
En particuliers, à chacune des phases Maven est associé un ou plusieurs plugins réalisant les taches attendus par la phase.

Tout plugin correspond des goals = taches . Pour utiliser une des taches (= savoir-faire) d’un plugin , lancer mvn plugin:tache (Ex : mvn archetype:generate) avec des paramètres (-Dparam1=valeur)

QUESTION : précisez quels sont les plugin et les goals des phases suivantes :
compile
package
deploy
QUESTION : précisez le nombre de goal du plugin ’compiler’
Plugin hébergés par le projet Maven
A partir de la page de présentation plugins du projet maven :
— identifiez 5 ’core’ plugins. Qu’est ce qu’un ’core’ plugin ?
— identifiez 5 ’packaging ’ plugins (permettant de réaliser de livrables J2ee)
— identifiez 5 ’reporting’ plugins (permettant de réaliser des rapports maven).
Précisez dans quelle section du fichier pom.xml configurer ces plugins. Par exemple avec le plugin : compiler
Plugin Codehaus
QUESTION : qu’est ce que Codehaus ?
A partir de la [page de présentation plugins du projet maven
— identifiez 5 plugins hébergés par codeHaus.org
Plugin Google
A partir de la page de présentation plugins du projet maven , précisez 5 plugins hébergés par google.
Plugin d’outils
A partir de la page de présentation plugins du projet maven , précisez 5 plugins d’outils hébergés par le projet associé.
INFO : Le goal ’describe’ du plugin maven ’help’ vous permet de mieux connaître et comprendre d’autres plugins (taches, paramètres...)
Quel est par exemple le résultat des commandes suivantes ?
mvn help:describe -Dplugin=help
mvn help:describe -Dplugin=help -Ddetail
mvn help:describe -Dplugin=help -Dfull
mvn help:describe -Dplugin=help -Dmojo=system -Dfull
Application au plugin archetype
Quel est le résultat des commandes suivantes ?
mvn help:describe -Dplugin=archetype
mvn help:describe -Dplugin=archetype -Ddetail
mvn help:describe -Dplugin=archetype -Dfull
En déduire au moins 3 autres savoir-faire (goal) du plugin archetype (en plus de create et generate).
A partir du guide de configuration de plugin Maven :
Configuration plugin de build
Expliquez le rôle des balises ’executions’, ’dependencies’, ’inherited’
QUESTION : précisez la configuration du plugin ’compiler’
Configuration plugin de reporting
Expliquez le rôle des balises ’reportset’, ’inherited’
— INFO : 1 plugin = 1 ou plusieurs ’goal’
— INFO : 1 goal = 1 Mojo (Maven Old Java Object)
— INFO : 1 Mojo = une classe Java héritant de la classe AbstractMojo
A VOUS DE JOUER : en utilisant la documentation Maven sur la création de plugin, créez un plugin qui, lorsqu’exécuté, affiche le message "Objis, spécialiste français de la formation JAVA entreprise"
En particulier, précisez :
— Le code minimal de notre Mojo
— Comment associer goal et Mojo
— La définition Maven de notre projet de création de plugin dont un des goal sera implémenté par notre Mojo
— Comment exécuter le goal
— Comment associer le plugin à une phase précise du cycle de vie d’un projet , comme la phase de compilation
— Comment ajouter un paramètre au Mojo ?
Dans ce tutoriel, vous avez découvert la notion de plugin MAVEN. Vous avez compris la relation entre plugin et phases. Vous avez identifié différents plugins : build, reporting.
Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur et chef de projet MAVEN :