Structure d’un projet Maven
POM, cycle de vie et dépendances
Structure d’un projet Maven est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.
Structure d’un projet Maven
Maven est un outil de construction et un gestionnaire de dépendances fondé sur un principe unique : les conventions plutôt que la configuration. Suivez son organisation standard et la plupart des éléments fonctionneront avec presque aucune configuration. Cette leçon présente l’organisation, le POM et la gestion des dépendances.
Organisation standard des répertoires
Maven attend une structure fixe :
src/main/java— code source de production.src/main/resources— ressources de production.src/test/java— code source des tests.target/— sortie de construction (générée).
Le POM
Le cœur d’un projet Maven est pom.xml — le modèle d’objet de projet. Il déclare les coordonnées, les dépendances, les extensions et les paramètres de construction en XML.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
</project>Coordonnées : GAV
Chaque artefact est identifié par groupId, artifactId et version (GAV). Ces coordonnées donnent un nom unique à votre projet et à chaque dépendance que vous ajoutez.
Déclarer des dépendances
Les dépendances sont répertoriées dans <dependencies>. Maven les télécharge, ainsi que leurs dépendances transitives, depuis des dépôts tels que Maven Central vers un cache local.
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>Portées des dépendances
La portée détermine quand une dépendance figure dans le chemin de classes :
- compile — partout (par défaut).
- provided — uniquement lors de la compilation ; fournie à l’exécution par le conteneur.
- runtime — à l’exécution et pendant les tests, mais pas lors de la compilation.
- test — uniquement pour la compilation et l’exécution des tests.
Dépendances transitives
Si A dépend de B et que B dépend de C, Maven vous fournit automatiquement C : c’est la transitivité. En cas de conflit entre les versions, Maven les résout en choisissant la définition la plus proche dans l’arbre des dépendances.
Le cycle de vie de la construction
Maven définit un cycle de vie ordonné composé de phases. Le cycle de vie par défaut comprend, dans l’ordre : validate, compile, test, package, verify, install, deploy. L’exécution d’une phase exécute également toutes les phases précédentes.
Commandes courantes
mvn compile— compiler les sources principales.mvn test— exécuter les tests unitaires.mvn package— construire le fichier JAR/WAR danstarget/.mvn install— copier l’artefact dans votre dépôt local afin que d’autres projets puissent l’utiliser.
Le dépôt local
Les artefacts téléchargés sont mis en cache dans ~/.m2/repository. Les constructions suivantes réutilisent ce cache au lieu de télécharger à nouveau les artefacts. mvn install y place votre propre artefact afin que les projets frères puissent en dépendre.
Projets à plusieurs modules
Un POM parent contenant <packaging>pom</packaging> peut répertorier des modules enfants dans <modules>. Maven les construit dans l’ordre de leurs dépendances, ce qui permet à un grand système de partager sa configuration et ses versions depuis un emplacement unique.
Vérification rapide
Vérifiez votre compréhension de la structure Maven.
Récapitulatif
Vous avez appris les fondements de Maven :
- Les conventions plutôt que la configuration avec l’organisation standard
src/main/java. - Le POM déclare les coordonnées GAV, les dépendances et les extensions.
- Les portées (compile, provided, runtime, test) contrôlent la visibilité dans le chemin de classes.
- Les dépendances sont transitives ; les conflits sont résolus en choisissant la définition la plus proche.
- Le cycle de vie ordonné signifie qu’une phase exécute toutes les phases précédentes.
Questions Fréquemment Posées
La leçon « Structure d’un projet Maven » est-elle gratuite ?
Oui — le texte complet de « Structure d’un projet Maven » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Structure d’un projet Maven » ?
POM, cycle de vie et dépendances Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Java Academy ?
Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Structure d’un projet Maven » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?
Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Structure d’un projet Maven
- Extensions et objectifs Maven
- Bases de Gradle
- Choisir un outil de compilation