Achref El Mouelhi
elmouelhi.achref@gmail.com
1 Introduction
4 Le fichier pom.xml
5 La gestion de dépendances
Maven
Maven
Comment créer un Java Project avec Maven
Aller dans File > New > Other
Chercher puis sélectionner Maven Project
I c
Cliquer sur Next
ELH
U
MO
Choisir maven-archetype-quickstart
L
Remplir les champsref
E
Group A
c h
c Id avec org.eclipse
Artifact Id avec first-maven
Package avec org.eclipse.main
Maven
Maven
h r e
cId avec first-jee-maven
Group Id avec org.eclipse
c
ArtifactA
Package avec org.eclipse.controller
Maven
f E L
Ensuite valider en cliquant sur Apply and Close
c hre
c A
Maven
f E L
Ensuite valider en cliquant sur Apply and Close
c hre
Exécuter c A
Lancer le serveur puis aller sur
http://localhost:8080/first-jee-maven/
Maven
c h rede test
c A : code source de test
/src/test : fichiers
/src/test/java
/src/test/resources : fichiers de ressources de test
...
Maven
I
c
Remarque (pour les projets JEE)
E L H
À la création d’une Servlet dans unO U
L M projet JEE avec Maven, ce
re f E
dernier enregistre automatiquement cette servlet dans le
web.xml
c h
c A
Maven
I
c
E L H
modelVersion : c’est la version actuelle d’Apache Maven 4.0.0.
artifactId : il contiente
E L
le fnom du projet.
c h r
version : il prA
c
encours) soit RELEASE (pour les versions terminées)
les versions
écise le numéro de la version du projet plus soit SNAPSHOT (pour
...
Maven
A c
c
groupId
artifactId
version
...
Maven
I c
Où trouver ces dépendances ?
ELH
U
Dans le repository Maven
L MO
f E
hre
https://mvnrepository.com/
c
c A
Maven
A c
sur Add, chercher et sélectionner une dépendance puis valider en
c et attendre le téléchargement.
enregistrer
<properties>
f E L
hre
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
c
c A
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.24</version>
</dependency>
</dependencies>
</project>
H & H: Research and Training 14 / 23
Maven via CLI
Maven
CLI : Command Line Interface (interface en ligne de commande)
h r e fE
A c
c
Maven
CLI : Command Line Interface (interface en ligne de commande)
h r e fE
A c
Exemple de cconsole
Invite de commande
PowerShell
Cmder (Open-source acceptant les commandes Unix)
H & H: Research and Training 15 / 23
Maven via CLI
Maven
Télécharger, installer et lancer Cmder
https://cmder.net/
I c
ELH
U
L MO
f E
chre
c A
Maven
Télécharger, installer et lancer Cmder
https://cmder.net/
I c
mvn --version
ELH
U
L MO
f E
chre
c A
Maven
Télécharger, installer et lancer Cmder
https://cmder.net/
I c
mvn --version
ELH
U
Ou le raccourci
L MO
f E
hre
mvn -v
c
c A
Maven
Télécharger, installer et lancer Cmder
https://cmder.net/
I c
mvn --version
ELH
U
Ou le raccourci
L MO
f E
hre
mvn -v
c
Le résultat
c A
Apache Maven 3.5.3 (...; 2018-02-24T20:49:05+01:00)
Maven home: C:\apache-maven-3.5.3\bin\..
Java version: 1.8.0_191, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jre1.8.0_191
Default locale: fr_FR, platform encoding: Cp1252
OS name: "windows10", version: "10.0", arch: "amd64", family: "windows"
I c
ELH
U
L MO
f E
chre
c A
I c
Explication
ELH
U
mvn archetype:generate la commande permettant de générer un projet maven
Ce qui vient après : la liste des options
L MO
f E
-DgroupId={project-packaging} : structure des packages du projet
c hre
-DartifactId={project-name} : nom du projet
c A
-DarchetypeArtifactId={archetype-name} : nom du archetype ou le type
du projet
-DarchetypeGroupId={archetype-groupId} : l’identifiant du groupe de
l’archétype (valeur par défaut org.apache.maven.archetypes)
Maven
Pour créer un Java Project avec maven (copier la en une seule ligne)
mvn archetype:generate
-DarchetypeArtifactId=maven-archetype-quickstart
-DgroupId=org.eclipse.classes
-DartifactId=MavenJavaProject
-DinteractiveMode=false
I c
ELH
U
L MO
f E
chre
c A
Maven
Pour créer un Java Project avec maven (copier la en une seule ligne)
mvn archetype:generate
-DarchetypeArtifactId=maven-archetype-quickstart
-DgroupId=org.eclipse.classes
-DartifactId=MavenJavaProject
-DinteractiveMode=false
I c
ELH
U
Remarque
L MO
f E
hre
L’artifactId de l’archétype quickstart est maven-archetype-quickstart
c
c A
Le groupId de l’archétype quickstart est org.apache.maven.archetypes
On n’a pas précisé le groupId ici car sa valeur correspond à la vleur par défaut
considérée par Maven
Maven
Pour créer un Java Project avec maven (copier la en une seule ligne)
mvn archetype:generate
-DarchetypeArtifactId=maven-archetype-quickstart
-DgroupId=org.eclipse.classes
-DartifactId=MavenJavaProject
-DinteractiveMode=false
I c
ELH
U
Remarque
L MO
f E
hre
L’artifactId de l’archétype quickstart est maven-archetype-quickstart
c
c A
Le groupId de l’archétype quickstart est org.apache.maven.archetypes
On n’a pas précisé le groupId ici car sa valeur correspond à la vleur par défaut
considérée par Maven
Maven
Arborescence générée (contenant 3 fichiers sources App.java, AppTest.java
et pom.xml)
install-maven-tutorial
|--pom.xml
--src
I c
----main
ELH
------java
U
--------org
L MO
----------eclipse
f E
hre
------------classes
|--------------App.java
c
----test c A
------java
--------org
----------eclipse
------------classes
|--------------AppTest.java
Maven
Contenu de App.java
package org.eclipse.classes;
/**
I c
* Hello world!
ELH
U
MO
*
*/
f E L
hre
public class App
c
c A
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
I c
ELH
U
L MO
f E
chre
c A
E L
-------------------------------------------------------------------
f
hre
[INFO] Total time: 5.017 s
c
[INFO] Finished at: 2019-03-30T11:00:34+01:00
[INFO]
c A
-------------------------------------------------------------------
E L
-------------------------------------------------------------------
f
hre
[INFO] Total time: 5.017 s
c
[INFO] Finished at: 2019-03-30T11:00:34+01:00
[INFO]
c A
-------------------------------------------------------------------
E L
-------------------------------------------------------------------
f
hre
[INFO] Total time: 5.017 s
c
[INFO] Finished at: 2019-03-30T11:00:34+01:00
[INFO]
c A
-------------------------------------------------------------------
Le résultat
Hello World!
Maven
c
Pour créer un Web Project avec maven (copier la en une seule ligne)
I
mvn archetype:generate
EL H
U
-DgroupId=org.eclipse
L MO
-DartifactId=MavenWebProject
r e fE
-DarchetypeArtifactId=maven-archetype-webapp
h
c
-DinteractiveMode=false
A
c
Maven
Autres commandes Maven
mvn javadoc:javadoc pour générer la Javadoc
mvn test pour exécuter les tests unitaires
I
c
EL
mvn clean pour supprimer les fichiers générés H
mvn -Dmaven.test.skip=trueO
U
supprimer les fichiers génE L M clean package pour
Maven
Autres commandes Maven
mvn javadoc:javadoc pour générer la Javadoc
mvn test pour exécuter les tests unitaires
I
c
EL
mvn clean pour supprimer les fichiers générés H
mvn -Dmaven.test.skip=trueO
U
supprimer les fichiers génE L M clean package pour