Disposition de 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 simple décentralisation des dépendances et des référentiels, la promotion d'une structure de répertoires uniforme entre les projets est également l'un de ses aspects importants.

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

2. Disposition du répertoire

Un projet Maven typique a un fichier pom.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 disposition de répertoire par défaut peut être remplacée à l'aide de descripteurs de projet, mais cela est rare et déconseillé.

Dans 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 le plugin Maven Failsafe
  • maven-project / src / site - documentation du site créée à l'aide du Maven Site Plugin
  • maven-project / src / assembly - configuration de l'assemblage pour les binaires d'empaquetage

4. Le répertoire src / 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 un pot ou une guerre , 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 fichiers i18n , les fichiers de configuration par environnement et les configurations XML

  • src / main / webapp - pour les applications Web, contient des ressources telles que JavaScript, CSS, des fichiers HTML, des modèles de vue et des 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épertoire src / test

Le répertoire src / 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 disposition de répertoire standard pour un projet Apache Maven.

Plusieurs exemples de structures de projet Maven peuvent être trouvés dans le projet GitHub.