«1. Введение

Apache Maven — один из самых популярных инструментов сборки для проектов Java. Помимо простой децентрализации зависимостей и репозиториев, продвижение единой структуры каталогов в проектах также является одним из его важных аспектов.

В этой быстрой статье мы рассмотрим стандартный макет каталога типичного проекта Maven.

2. Макет каталога

Типичный проект Maven имеет файл pom.xml и структуру каталогов, основанную на определенных соглашениях:

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

Макет каталога по умолчанию можно переопределить с помощью дескрипторов проекта, но это необычно и обескураженный.

В этой статье мы расскажем больше о каждом стандартном файле и подкаталоге.

3. Корневой каталог

Этот каталог служит корнем каждого проекта Maven.

Давайте подробнее рассмотрим стандартные файлы и подкаталоги, которые обычно находятся в корневом каталоге:

    maven-project/pom.xml — определяет зависимости и модули, необходимые в течение жизненного цикла сборки проекта Maven maven-project /LICENSE.txt — лицензионная информация проекта maven-project/README.txt — сводка проекта maven-project/NOTICE.txt — информация о сторонних библиотеках, используемых в проекте maven-project/ src/main — содержит исходный код и ресурсы, которые становятся частью артефакта maven-project/src/test — содержит весь тестовый код и ресурсы maven-project/src/it — обычно зарезервирован для используемых интеграционных тестов с помощью подключаемого модуля Maven Failsafe maven-project/src/site — документация сайта, созданная с помощью подключаемого модуля Maven Site Plugin maven-project/src/assembly — конфигурация сборки для упаковки двоичных файлов

4. Каталог src/main ~~ ~ Как видно из названия, src/main — самый важный каталог проекта Maven. Здесь должно присутствовать все, что должно быть частью артефакта, будь то кувшин или война.

Его подкаталоги:

src/main/java — исходный код Java для артефакта src/main/resources — файлы конфигурации и другие файлы, такие как файлы i18n, файлы конфигурации для каждой среды и конфигурации XML. src/main/webapp — для веб-приложений, содержит ресурсы, такие как файлы JavaScript, CSS, HTML, шаблоны представлений и изображения. src/main/filters — содержит файлы, которые вводят значения в свойства конфигурации в папке ресурсов во время сборки. фаза

    5. Каталог src/test

Каталог src/test — это место, где находятся тесты каждого компонента приложения.

Обратите внимание, что ни один из этих каталогов или файлов не станет частью артефакта. Давайте посмотрим на его подкаталоги:

src/test/java — исходный код Java для тестов src/test/resources — файлы конфигурации и другие файлы, используемые тестами src/test/filters — содержит файлы, которые вводят значения в свойства конфигурации в папке ресурсов на этапе тестирования

    6. Заключение

В этой статье мы рассмотрели стандартный макет каталога для проекта Apache Maven.

Несколько примеров структур проекта Maven можно найти в проекте GitHub.

«