Перейти к основному содержимому

Стандартный макет каталога Apache Maven

· 3 мин. чтения

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 .