Maven « Devops »
📦 Un projet Maven :
C’est un projet Java structuré et géré automatiquement grâce à Maven, un
outil de gestion de projet et de build.
🔧 Maven, c’est quoi ?
Maven est un outil Java qui :
1. Crée la structure de ton projet (fichiers et dossiers).
2. Gère automatiquement les dépendances (librairies externes).
3. Compile ton code (mvn compile).
4. Lance les tests unitaires (mvn test).
5. Crée un fichier exécutable .jar ou .war (mvn package).
6. Peut même déployer ton projet sur un serveur si besoin (mvn deploy).
I. Création d’un projet maven :
D’abord il faut s’assurer que maven était installé par : mvn -v
Via la ligne de commande (terminal)
mvn archetype:generate
-DgroupId =[Link]
-DartifactId =mon-projet
-DarchetypeArtifactId =maven-archetype-quickstart
-DinteractiveMode =false
Via VS Code :
Tu ouvres la palette de commande par : Ctrl+Shift+P , tu tapes : Maven:
Create Maven Project et choisis l’archetype : maven-archetype-
quickstart ...
Note :
🔹 mvn archetype:generate : C’est la commande principale. Elle dit à
Maven : "Je veux générer un nouveau projet à partir d’un modèle
(archetype)".
🔹 DgroupId: identifie le groupe ou l’organisation à l’origine du projet
(package comme : [Link]).
🔹 DartifactId: est le nom du projet.
La structure générée d’après Maven :
II. Gestion des dépendances :
Quand tu développes en Java, tu utilises souvent des bibliothèques
externes (ex. : JUnit, Gson, Spring...).
Mais sans outil comme Maven, il faudrait :
télécharger manuellement les fichiers .jar,
les copier dans ton projet,
les configurer dans le classpath…
💡 Maven te simplifie la vie : il télécharge automatiquement les bonnes
versions des bibliothèques dont tu as besoin !
Dans le fichier [Link], tu déclares les bibliothèques que tu veux utiliser
sous forme de balises <dependency>.
C’est quoi [Link] ?
📄 Le cœur du projet Maven : [Link], ce fichier contient toutes les
infos du projet :
Nom, version
Dépendances (librairies à utiliser)
Plugins (compilation, test, etc.)
Configuration du build
III. Compilation du code :
cd nom-projet
mvn compile : pour compiler les fichiers source de projet
Que fait mvn compile exactement ?
Il lit ton [Link] pour comprendre comment compiler (Java
version, plugins, dépendances...).
Il vérifie que toutes les dépendances sont présentes (et les
télécharge si besoin).
Il compile tous les fichiers .java du dossier src/main/java/
Il place les fichiers .class compilés dans ce dossier : target/classes/
IV. Les tests unitaires :
mvn test : lancer les tests unitaires de ton projet Java.
🔍 Tests unitaires : c’est quoi ?
Ce sont des petits programmes (souvent dans src/test/java/) qui vérifient
automatiquement que les parties de ton code fonctionnent
correctement.
Pour que mvn test fonctionne, tu dois avoir déclaré la dépendance JUnit
dans ton [Link] :
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
Pour le plugin Surefire s’occupe d’exécuter les tests unitaires , mais pas
forcément le déclarer dans [Link]. Donc, si tu ne le déclares pas
explicitement, Maven va quand même exécuter les tests avec une
version par défaut.