Maîtrisez la création de projet Maven 2 avec le plugin archetype. Augmentez votre productivité en choisissant parmi 450 squelettes de projets Maven déja disponible. Comprenez mieux le plugin ’archetype’. Enfin, découvrez le plugin d’aide ’help’
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
Tutoriel Maven N°1 : Installation Maven
Maîtriser la création d’un projet MAVEN
Comprendre les types de squelettes prédéfinis
Comprendre le plugin maven archetype
+ de 100 tutoriaux java/jee Objis
Tutoriaux et formation MAVEN
Page officielle plugin archetype
Compatibilité Maven 2.x / Maven 3.x
Génération de site avec Maven 3.x
Compatibilité des plugins Maven 3.x
Contexte
Partie 1 : Choix du type de projet
Partie 2 : Création du projet avec archetype:generate
Partie 3 : l’ancienne méthode : archetype:create
Partie 4 : mieux comprendre le plugin archetype
30min
Vous êtes en charge de la réalisation d’un projet de développement Java/j2ee. Vous ne soughaitez pas partir ’de zéro’. Vous avez compris qu’avec maven, vous pouvez bénéficier de plus de 250 ’squelettes’ d’applications .
QUESTION : quel type de projet souhaitez-vous créer ? Un projet java simple ? un projet type EAR j2ee ? Ou bien une application modulaire impliquant Struts, Spring, hibernate ?
A partir de la version 2.2, Maven vous permet dès son installation de créer un projet basé sur un des 250 squelettes de projets déja prêt.
Dans un répertoire vide c :\formationmaven\TPs\TP2, lancez la commande : > mvn archetype:generate
Vous obtenez un résultat similaire à ceci :

Maven vous demande d’entrer le numéro du type de projet pour le que vous lui demandez de générer un squelette.
Dans le cadre de ce tutoriel, nous allons choisir de créer un projet jee complet (en vue de création d’un livrable type EAR)
Entrez le chiffre 51 (maven-archetype-j2ee-simple) puis ENTREE
choisissez la version 1 puis ENTREE

Maven vous demande alors de préciser le ’groupId’ de votre projet, et plus généralement les coordonnées MAVEN de votre projet.
REMARQUE : si vous ne choisissez pas de numéro et que vous tapez ENTREE Maven va créer le type 58 (maven-archetype-quikstart) générant un squelette de projet Maven d’une application java simple. Maven y crée un fichier source Main.java dans src/main/java et un fichier test dans src/test.
QUESTION : quelle différence entre le projet 51 et le projet 61 ?

Coordonnées Maven du projet à créer
Tout projet Maven est caractérisé par des coordonnées :
— un GroupId
— un ArtifactId
— Un version
Les coordonnées Maven de notre projet Maven en cours de création sont :
— GroupId : com.objis.demomaven
— ArtifactId : ObjisEarProject
— version : 1.0
Entrez ces coordonnées Maven

Maven vous demande ensuite le package de vos classes. Par défaut il reprend le groupId.
Acceptez la valeur par défaut du package
Maven génère alors le squelette de votre projet :

Analysez les répertoires et fichiers de configuration que maven a créé.
ça y est : vous avez créé votre projet Maven !
Pour des raisons de compatibilité entre les différentes versions de Maven, l’ancienne méthode de création de projet est toujours possible, mais dépréciée.
Voici l’équivalent :
mvn archetype:create -DgroupId=com.objis.demomaven -DartifactId=ObjisEarProjectV2 -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-j2ee-simple
Voici le résultat de cette commande :

Notez l’information : [WARNING] This goal is deprecated. Please use mvn:archetype generate instead.
QUESTION : qu’est ce que AppFuse ?
Citez des exemples de projet AppFuse disponibles. En particuliers, expliquez la marche à suivre pour créer les projets suivants :
— > Un projet Struts 2
— > Un projet JSF
— > Un projet de service Jboss
— > Un projet de binding component JBI
— > Un projet Grails
QUESTION : qu’est ce que Spring ROO ? Quelle différence avec AppFuse ?
RAPPEL : à 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)

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).
Vous savez désormais créer un projet Maven2. Vous savez également mieux utiliser le plugin archetype, dont la tache tache archetype:generate est désormais préférée = archetype:create.
Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur MAVEN :
Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
Votez pour les prochains tutoriaux à publier
Préparez vos entretiens techniques
Valorisez votre profil / expertise
Identifiez des opportunités d’emploi
Recevez la newsletter objis.com