Mise en page du répertoire standard Apache Maven

Mise en page du répertoire standard Apache Maven

1. introduction

Apache Maven est l’un des outils de construction les plus populaires pour les projets Java. Outre la décentralisation des dépendances et des référentiels, la promotion d'une structure de répertoires uniforme pour tous les projets est également l'un de ses aspects les plus importants.

Dans cet article rapide, nous allons explorer la disposition de répertoire standard d'un projet Maven typique.

2. Disposition du répertoire

Un projet Maven typique a un fichierpom.xml et une structure de répertoires basée sur des conventions définies:

└───maven-project
    ├───pom.xml
    ├───README.txt
    ├───NOTICE.txt
    ├───LICENSE.txt
    └───src
        ├───main
        │   ├───java
        │   ├───resources
        │   ├───filters
        │   └───webapp
        ├───test
        │   ├───java
        │   ├───resources
        │   └───filters
        ├───it
        ├───site
        └───assembly

La structure de répertoire par défaut peut être remplacée à l'aide de descripteurs de projet, mais cela est rare et déconseillé.

Dans la suite de cet article, nous découvrirons plus de détails sur chaque fichier et sous-répertoire standard.

3. Le répertoire racine

Ce répertoire sert de racine à chaque projet Maven.

Examinons de plus près les fichiers et sous-répertoires standard qui se trouvent généralement à la racine:

  • maven-project/pom.xml - définit les dépendances et les modules nécessaires pendant le cycle de vie de construction d'un projet Maven

  • maven-project/LICENSE.txt - informations de licence du projet

  • maven-project/README.txt - résumé du projet

  • maven-project/NOTICE.txt - informations sur les bibliothèques tierces utilisées dans le projet

  • maven-project/src/main - contient le code source et les ressources qui font partie de l'artefact

  • maven-project/src/test - contient tout le code de test et les ressources

  • maven-project/src/it - généralement réservé aux tests d'intégration utilisés par lesMaven Failsafe Plugin

  • maven-project/src/site - documentation du site créée à l'aide desMaven Site Plugin

  • maven-project/src/assembly - configuration d'assemblage pour les binaires d'empaquetage

4. Le répertoiresrc/main

Comme son nom l'indique,src/main est le répertoire le plus important d'un projet Maven. Tout ce qui est censé faire partie d'un artefact, que ce soit unjar ouwar, doit être présent ici.

Ses sous-répertoires sont:

  • src/main/java - Code source Java pour l'artefact

  • src/main/resources - fichiers de configuration et autres tels que les fichiersi18n, les fichiers de configuration par environnement et les configurations XML __

  • src/main/webapp - pour les applications Web, contient des ressources telles que JavaScript, CSS, fichiers HTML, modèles de vue et images

  • src/main/filters - contient des fichiers qui injectent des valeurs dans les propriétés de configuration dans le dossier des ressources pendant la phase de construction

5. Le répertoiresrc/test __

Le répertoiresrc/test est l'endroit où résident les tests de chaque composant de l'application.

Notez qu'aucun de ces répertoires ou fichiers ne fera partie de l'artefact. Voyons ses sous-répertoires:

  • src/test/java - Code source Java pour les tests

  • src/test/resources - fichiers de configuration et autres utilisés par les tests

  • src/test/filters - contient des fichiers qui injectent des valeurs dans les propriétés de configuration dans le dossier des ressources pendant la phase de test

6. Conclusion

Dans cet article, nous avons examiné la structure de répertoires standard d'un projet Apache Maven.

Plusieurs exemples de structures de projet Maven peuvent être trouvés dans lesGitHub project.