Projets
Pages enfant
  • 1.4 Création d'un projet à partir d'un archetype blank

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3
Astuce
titleBon pour relecture
 

...

Sommaire :

Sommaire
maxLevel3

...

Création de la structure du projet à partir de

...

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)

l’archetype esup-commons

Qu'est-ce qu'un archetype Maven ? Dans le contexte de esup-commons, un archetype est une structure complète d'un projet à déployer. Toute l'organisation des fichiers, des classes et des projets Eclipse sera mise en place par l'archetype. L'objectif est de proposer une structure standard à tous les développeurs. Le développeur aura "uniquement" à sa charge le remplissage de cette structure.

...

titleA completer

...

La structure du projet va être construite à partir d'un d’un archétype maven dont voici les paramètres :-DarchetypeRepository

archetypeRepository=https://mvn.esup-portail.org/content/repositories/releases

...

archetypeGroupId=org.esupportail.blank

...

archetypeArtifactId=esup-blank-archetype

...

archetypeVersion=

...

numeroVersionArchetype

-DgroupId=org.esupportail

groupId=domaineMonProjet

artifactId

...

=nomProjet

...

package=packageMonProjet

-Dversion=1.0-SNAPSHOT

...

version=numeroVersionMonProjet

où :

  • numeroVersionArchetype : numéro de version de l'archetype à utiliser (version 0.2.8 à l'heure où sont écrites ces lignes). Pour connaître le numéro de version de l'archetype,

...

  • Merci de vous référer

...

  • au dêpot maven : https://mvn.esup-portail.org/content/repositories/releases/org/esupportail/blank/esup-blank-archetype/
  • domaineMonProjet : nom de domaine du projet à développer. Par exemple : fr.univ pour un projet local ou org.esup-portail pour un projet communautaire
  • nomProjet : nom de mon projet. Par exemple : portlet-reservation
  • packageMonProjet : nom du package JAVA correspondant à mon projet. Par exemple : fr.uhp.reservation
  • numeroVersionMonProjet : numéro de version de mon projet. Par exemple : 1.0-SNAPSHOT
  • les autres paramètres ne sont pas à modifier

 

HTML Comment
Remarque

En attendant qu'une version stable soit tagguée, vous pouvez récupérer la version en cours de développement (version 0.2.3-SNAPSHOT à l'heure où sont écrites ces lignes), en pensant à modifier l'URL du repository en https://mvn.esup-portail.org/content/repositories/snapshots

 

Il y a 2 méthodes possible pour créer un nouveau projet eclipse à partir de l'archetype blank : Soit directement via l'interface d'Eclipse, soit en ligne de commande puis importation dans Ecplise.

Remarque
titleAttention

Nous avons constaté quelques soucis dans la création de projet à partir d'un archetype avec le plugin maven d'eclipse : m2eclipse. Si vous rencontrez des messages d'erreurs indiquant qu'eclipse ne parvient pas à trouver l'archetype (voir erreur ci-dessous) n'hésitez pas à relancer complètement Eclipe.

Image Added

Toutefois nous vous recommandons d'utiliser la méthode par ligne de commande qui elle fonctionne bien.

Création en ligne de commande

Récupération du projet : se positionner dans le répertoire workspace de Eclipse et lancer la commande suivante :

Bloc de code
mvn archetype:generate -B -DarchetypeRepository=https://mvn.esup-portail.org/content/repositories/releases
-DarchetypeGroupId=org.esupportail.blank -DarchetypeArtifactId=esup-blank-archetype -DarchetypeVersion=numeroVersionArchetype
-DgroupId=fr.univ -DartifactId=nomProjet -Dpackage=packageMonProjet -Dversion=numeroVersionMonProjet

Une fois l'archetype récupéré, il faut se positionner dans le répertoire parent (là où se trouve le pom.xml), et lancer la commande suivante :

Bloc de code
mvn eclipse:eclipse

Voila le résultat dans la console :

Image Added

Cette commande va configurer les projets pour que ce soient des projets WTP dans Eclipse. Une fois cette étape terminée, il faut les importer dans Eclipse en tant que projets Maven.

Dans Eclipse : File => New => Maven => Existing Maven Projects

Il faut alors choisir le répertoire parent du Blank que l'on vient de récupérer. Eclipse va automatiquement sélectionner tous les modules présents.

Image Added

On valide en cliquant sur Finish.

Le projet est maintenant prêt à être utilisé

!! Attention !! En fait, au moment du mvn create il faut absolument que le groupId=org.esupportail.

Si vous utilisez Eclipse et que vous mettez pour l'atrifactId=qqchosecommeonveut ce dernier propose automatiquement un package en fonction de ça : org.esupportail.qqchosecommeonveut. 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é.

Création depuis Eclipse

Se rendre dans le menu File => New => Project...Project…
Choisir Maven Project

Laisser l'emplacement l’emplacement par défaut pour le projet

Il n'y n’y a pas d'archétyped’archétype


Cliquer sur Add Archetype
Remplir les champs correspondant à l'archétype que l'on l’archétype que l’on souhaite utiliser
Image Removed Image Added

Choisir l'archétype que l'on vient d'ajouterl’archétype que l’on vient d’ajouter


Créer le projet

 

Cliquer sur finish et voilà
Image Removed

Création en ligne de commande

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

Démarrage du projet

Lancer Run => Run configurations...

le projet est créé avec vos choix.

Image Added

Pour préparer un projet, toutes les dépendances doivent être satisfaites. Chaque module Maven dépendant d'un autre, il faut donc compiler chaque module afin de générer les jar qui seront utilisés par les autres modules.C'est le but de la target Install de Maven.

Lancer la tache Maven via un clic droit sur le projet parent : Run as => Maven install

Voila le résultat dans la console de Eclipse :

Image Added

Le projet est maintenant prêt à être utilisé.

Utilisation du projet

Une fois le projet prêt, vous pouvez supprimer les modules web qui ne vous intéressent pas. Pour rappel, dans cette page : 1.2 Méthodologie de développement, vous trouverez toutes les informations pour choisir le module web à garder. Ce n'est pas une obligation de supprimer les modules web que vous ne souhaitez pas utiliser, vous pouvez les garder pour un usage ultérieur. Ils ne poseront pas de problème dans votre travail de développement.

Pour tester votre module et donc votre développement, il faut utiliser les fonctionnalités WTP de Eclipse. Il faut ajouter le module web dans un des serveurs déclarés dans votre Eclipse.

Pour cela, faire un clic-droit sur le serveur que vous souhaitez utiliser, et choisissez "Add and Remove ...".

Image Added

Vous devez alors choisir le module web sur lequel vous souhaitez travailler.

Image Added

Et une fois vos choix validés, le contexte de votre module est accessible dans le serveur choisi.

Image Added

Dans notre exemple, pour y accéder, vous devrez alors taper l'URL : http://localhost:8080/portlet-reservation-web-jsf-servlet... Il ne vous reste alors plus qu'à démarrer le serveur.Choisir le répertoire portlet-reservation et l'action jetty:run