Vous êtes sur la page 1sur 20

Partie 1 

: Installation Maven

Etape 1
 Téléchargez et dé zipper l’archive courante de MAVEN, par exemple apache-maven-2.2.1-
bin.zip. Vous obtenez le répertoire apache-maven-2.2.1

tutoriel-maven-installation-analyse-1

 Analysez le contenu du répertoire bin

tutoriel-maven-installation-analyse-1bis

Analysez le contenu du répertoire conf.

tutoriel-maven-installation-analyse-1ter
Etape 2
 Ajouter la variable d’environnement utilisateur M2_HOME avec pour valeur le chemin du
répertoire apache-maven-2.2.1 (Ex : c:\outils\apache-maven-2.2.1-bin)

— Sous WinXP : Menu Démarrer/Panneau de configuration/système/Onglet Avancé/Zone


’variable utilisateur’/Bouton Variable d’environnement/Ajouter

tutoriel-maven-installation-analyse-2

Etape 3

Dans la même boîte de dialogue, ajouter la variable d’environnement M2, avec comme valeur
%M2_HOME%\bin

tutoriel-maven-installation-analyse-3

Etape 4

Créez ou mettez à jour la variable d’environnement PATH avec %M2%

tutoriel-maven-installation-analyse-4
Etape 5 (Optionnel)

Dans la même boîte de dialogue, ajouter la variable d’environnement MAVEN_OPTS pour


spécifier paramètres JVM , par exemple -Xms256m -Xmx512m

tutoriel-maven-installation-analyse-5

Etape 6

Assurez-vous que la variable d’environnement JAVA_HOME pointe bien sur le répertoire


d’installation du JDK, et que %JAVA_HOME%\bin est bien dans la variable PATH.

tutoriel-maven-installation-analyse-6

Etape 7

Lancez une nouvelle commande MS-DOS et exécuter : mvn –version pour avoir la version de
Maven installées Démarrer/Programmes/Accesoires/Invite de commandes

tutoriel-maven-installation-analyse-7

Maven est correctement installé sur votre ordinateur.


INFO : à partir de la version maven 2.1.0, la commande mvn —version vous fournit
également comme information la ’locale’ par défaut (ici fr_FR) ainsi que l’encodage par
défaut (ici cp1252, représentant le jeu de caractère Windows)

Partie 2 : phases MAVEN

Contexte : comprendre les phases Maven

Maven associe à tout projet MAVEN des phases . A chacune de ces phases est
associé/déclenché par défaut des taches mises en oeuvre par des plugins.

tutoriel-maven-installation-analyse-7bis

Dans le cycle de vie ’par défaut’ d’un projet Maven, les phases les plus utilisées sont :

 validate : vérifie les prérequis d’un projet maven


 compile : compilation du code source
 test : lancement des tests unitaires
 package : assemble le code compilé en un livrable
 install : partage le livrable pour d’autres projets sur le même ordinateur
 deploy : publie le livrable pour d’autres projets dans un ’repository’ distant

Les phases s’exécutente de façon séquentielle de façon à ce qu’une phase dépende de la phase
précédente.

Par exemple, le lancement par l’utilisateur de la phase test (mbn test) impliquera le lancement
préalable par maven des phases ’validate’ et ’compile’.

Voici la liste complète des phases pour un projet maven 2.2 :

— validate
— generate-sources
— process-sources
— generate-resources
— process-resources
— compile
— process-classes
— generate-test-sources
— process-test-sources
— generate-test-resources
— process-test-resources
— test-compile
— test
— prepare-package
— package
— integration-test
— verify
— install
— deploy

REMARQUE : Cette partie ne traite pas de plugin ni de taches (Goals). Cette partie a pour
objectif de vous faire comprendre et mettre en oeuvre des phases MAVEN.

Mise en oeuvre

 Crééez le répertoire : C :\formationmaven\TPs\TP1


 Dans le répertoire créé, exécutez la commande suivante :

mvn archetype: create -DgroupId=com.objis.mavenapps -DartifactId=monappli


tutoriel-maven-installation-analyse-11

Il semble que plusieurs fichiers soient téléchargés sur votre ordinateur.

Après quelques secondes, vous pouvez lire :

tutoriel-maven-installation-analyse-12
 Expliquez

INFO : la commande archetype:create est dépréciée. Elle est utilisée ici uniquement à des fins
pédagogiques. Une meilleure pratique de création de projet maven est présentée dans le
tutoriel 2 ’création de projet Maven’ via archetype:generate.

 Analysez le répertoire .m2 créé par maven dans votre répertoire utilisateurs système
($HOME sous unix, Documents and Settings pour winxp) :

tutoriel-maven-installation-analyse-13

 Expliquez

 Observez la création par maven :


— du répertoire ’monappli’

tutoriel-maven-installation-analyse-8
— du fichier pom.xml à la racine du répertoire monappli

— des sous répertoire src/main/java (code source) et src/test/java (code tests)

tutoriel-maven-installation-analyse-9

 Analysez le contenu du sous-répertoire mavenapps

tutoriel-maven-installation-analyse-10

 Editez le fichier App.java (par exemple avec éditeur Notepad++)


tutoriel-maven-installation-analyse-14

 Expliquez

De même, éditez le fichier src/test/java/TestApp.java

tutoriel-maven-installation-analyse-15
 Expliquez

 Analysez le contenu du fichier pom.xml

tutoriel-maven-installation-analyse-16

 Citez d’autres balises que l’on peut retrouver dans ce fichier pom.xl

PHASE Compilation

 A partir du répertoire ’monappli’, lancez la commande : mvn compile

tutoriel-maven-installation-analyse-17
 Analysez le contenu tu répertoire monappli/target généré

tutoriel-maven-installation-analyse-18

PHASE Test
 Lancez la commande : mvn test

tutoriel-maven-installation-analyse-19
 Analysez le contenu tu répertoire monappli/target généré

tutoriel-maven-installation-analyse-20

 Analysez le contenu tu répertoire monappli/target/surefire-reports généré

tutoriel-maven-installation-analyse-21

 Expliquez

PHASE Packaging Lancez la commande : mvn package

 Analysez le contenu tu répertoire monappli/target généré

tutoriel-maven-installation-analyse-22
 Lancez la commande : java -cp target/monappli-1.0-SNAPSHOT.jar
com.objis.mavenapps.App

PHASE Install
 Lancez la commande : mvn install

 Montrez que le jar de l’application est désormais dans le repository local.

tutoriel-maven-installation-analyse-23

 Confirmez la création du jar monappli-1.0-SNAPSHOT.jar dans le répertoire


%USER_HOME%/.m2/repository/com/objis/demomaven

tutoriel-maven-installation-analyse-24

Nettoyage
 Lancez la commande : mvn clean

 Constatez la suppression du répertoire ’target’


tutoriel-maven-installation-analyse-8

Enchaînement de phases
 Lancez la commande : mvn clean install

Génération du site web du projet


 Lancez la commande : mvn site

 Constatez la suppression du répertoire ’target/site’

tutoriel-maven-installation-analyse-25

 Ouvrir le fichier index.html avec votre navigateur


tutoriel-maven-installation-analyse-26

Maven a généré le site internet de votre projet. Ce site , mis à jour, constitue un outil de
communication pour l’ensemble de l’équipe de développement.

 Cliquez sur le lien ’Dependencies’

tutoriel-maven-installation-analyse-27

 Expliquez les autres liens du menu (gauche) du site :


— about
— Continous integration
— Issue tracking
— Mailing list
— Plugin Management
— Project License
— Project Summary
— Project Team
— Source Repository

Tutoriel Maven N°2 : création projet maven


 Dans un répertoire vide c :\formationmaven\TPs\TP2, lancez la commande : > mvn
archetype:generate

Vous obtenez un résultat similaire à ceci :

tutoriel-maven-creation-projet-archetype-generate-1

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)

Partie 2 : Création du projet

 Entrez le chiffre 51 (maven-archetype-j2ee-simple) puis ENTREE

 Choisissez la version 1 puis ENTREE

tutoriel-maven-creation-projet-archetype-generate-3

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.

tutoriel-maven-creation-projet-archetype-generate-2
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

tutoriel-maven-creation-projet-archetype-generate-4

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 :


tutoriel-maven-creation-projet-archetype-generate-5

 Analysez les répertoires et fichiers de configuration que maven a créé.

ça y est : vous avez créé votre projet Maven !

Partie 3 : l’ancienne méthode archetype:create

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 :

tutoriel-maven-creation-projet-archetype-generate-6
Notez l’information: [WARNING] this goal is deprecated. Please use mvn:archetype generate
instead.

 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

Partie 4 : mieux comprendre le plugin archetype

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 aimerez peut-être aussi