Nous allons prendre pour l'exemple la création du projet portlet-réservation. Une portlet qui proposera la réservation de ressources (ex : salles, véhicules, matériel)
Notion d'archetype Maven |
La structure du projet va être construite à partir d'un archétype maven dont voici les paramètres :
-DarchetypeRepository=https://mvn.esup-portail.org/content/repositories/releases
-DarchetypeGroupId=org.esupportail
-DarchetypeArtifactId=esup-blank-archetype
-DarchetypeVersion=numeroVersionArchetype
-DgroupId=org.esupportail
-DartifactId=nomProjet
-Dpackage=packageMonProjet
-Dversion=numeroVersionMonProjet
où :
Se rendre dans le menu File => New => Project...
Choisir Maven Project
Laisser l'emplacement par défaut pour le projet
Il n'y a pas d'archétype
Cliquer sur Add Archetype
Remplir les champs correspondant à l'archétype que l'on souhaite utiliser
Au moment de la création de l'archetype, il faut absolument que groupId=org.esupportail. |
Lorsque que vous mettez pour l'atrifactId=esup-blank-archetype, Eclipse propose automatiquement un package en fonction de ça : org.esupportail.esup-blank-archetype. On pourrait penser qu'il faut changer le groupId pour mettre un fr.uhp par exemple et avoir ensuite un package=fr.uhp.qqchosecommeonveut
En fait non, le groupId et le package sont complètement dissociés. Il faut laisser groupId=org.esupportail et taper à la main (sans garder ce qu'eclipse suggère par défaut) un fr.uhp.qqchosecommeonveut et normalement ça marche ! Il met les références vers les classes org.esupportail.commons. En fait, il construit les références en fonction de l'argument groupId passé.
Choisir l'archétype que l'on vient d'ajouter
Créer le projet
Cliquer sur finish et voilà
mvn archetype:generate -B -DarchetypeRepository=https://mvn.esup-portail.org/content/repositories/releases
-DarchetypeGroupId=org.esupportail -DarchetypeArtifactId=esup-blank-archetype -DarchetypeVersion=0.2.0
-DgroupId=org.esupportail -DartifactId=ur1-test -Dpackage=fr.univrennes1.test -Dversion=1.0-SNAPSHOT
Lancer Run => Run configurations...
Choisir le répertoire portlet-reservation et l'action jetty:run