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.
Balise Wiki
{tip:title=Bon pour relecture}{tip}

----
h4. Sommaire :
{toc:maxLevel=3}
----
h2. Création de la structure du projet à partir de l'archetype _esup-commons_


*

...

titleBon pour relecture

Sommaire :

Sommaire
maxLevel3

Création de la structure du projet à partir de 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.

...




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

...



{quote}archetypeRepository=[https://mvn.esup-portail.org/content/repositories/releases

...

]



archetypeGroupId=org.esupportail

...

.blank

archetypeArtifactId=esup-blank-archetype

...



archetypeVersion=*numeroVersionArchetype

...

*

groupId=

...

*domaineMonProjet*

artifactId=*nomProjet

...

*

package=*packageMonProjet

...

*

version=

...

où :

...

*numeroVersionMonProjet{*}{quote}

où :
* *numeroVersionArchetype* : numéro de version de l'archetype à utiliser. Pour connaître le numéro de version de l'archetype, merci de vous référer à cette page

...

Remarque
En attendant qu'une version stable soit tagguée, vous pouvez récupérer la version en cours de développement (version
 : [PROJCOMMONS:Changelog]
* *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

{note}
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  sont écrites ces lignes), en pensant à modifier l'URL du repository en [https://mvn.esup-portail.org/content/repositories/snapshots

...

]

{note}

Nous allons prendre pour l'exemple la création du projet portlet-réservation.

h3.

...

 Création depuis Eclipse

...



Se rendre dans le menu *File => New => Project...

...

*
Choisir *Maven

...

 Project*
!1.png|align=center,thumbnail!
Laisser l'emplacement par défaut pour le

...

 projet
!2.png|align=center,thumbnail!
Il n'y a pas d'archétype

...

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

Image Removed

Choisir l'archétype que l'on vient d'ajouter
Image Removed
Créer le projet

Image Removed

Avertissement

Au moment de la création de l'archetype, il faut absolument que groupId=org.esupportail.

Lorsque que vous mettez pour l'artifactId=portlet-reservation, Eclipse propose automatiquement un package en fonction de cet artifactUd : org.esupportail.portlet_reservation. On pourrait penser qu'il faut changer le groupId pour mettre un fr.uhp par exemple et avoir ensuite un package=fr.uhp.portlet_reservation.

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) fr.uhp.reservation.

Cliquer sur finish et l'archetype est créé avec vos choix.

Image Removed

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 Removed

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

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


!3.png|align=center,thumbnail!
Cliquer sur *Add Archetype*
Remplir les champs correspondant à l'archétype que l'on souhaite utiliser


!4.png|align=center!


Choisir l'archétype que l'on vient d'ajouter
!5.png|align=center,thumbnail!
Créer le projet

!6.png|align=center!

\\

Cliquer sur *finish* et l'archetype est créé avec vos choix.


!7.png|align=center,thumbnail!

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 ?:

!eclipse_mvn_install_resultat_console.jpg|align=center,thumbnail!


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


h3. 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 :

{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=orgfr.esupportailuniv -DartifactId=nomProjet -Dpackage=packageMonProjet -Dversion=numeroVersionMonProjet{code}

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

...



{code
}mvn eclipse:eclipse{code}

Voila le résultat dans la console

...

Image Removed

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 Removed

On valide en cliquant sur Finish.

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 Removed

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

Image Removed

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

Image Removed

...

 :

!mvn_eclipse_resultat_console.jpg|align=center,thumbnail!


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.

!eclipse_mvn_import.jpg|align=center,thumbnail!

On valide en cliquant sur *Finish*.

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

h2. 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 : [PROJCOMMONS: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 ...".

!eclipse_wtp_1.jpg|align=center,thumbnail!

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

!eclipse_wtp_2.jpg|align=center,thumbnail!

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

!eclipse_wtp_3.jpg|align=center,thumbnail!

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.<!--   		BODY,DIV,TABLE,THEAD,TBODY,TFOOT,TR,TH,TD,P { font-family:"Arial"; font-size:x-small } -->| 03:37:00 |