
Стандартная схема директорий
Рассмотрим более подробно, какие именно файлы и каталоги содержит проект «maven-hello». Проект был создан по шаблону maven-quickstart и каталоги, созданные по шаблону, соответствуют стандартной схеме директорий Apache Maven.
Стандартная схема директорий Apache Maven — соглашение о структуре проекта, принятое в Apache Maven, это иерархическая структура каталогов и их назначение. Рассмотрим схему директорий более подробно.
Каталог или файл | Назначение |
src/main/java | Исходные коды проекта |
src/main/resources | Ресурсы проекта (картинки, файлы локализации) |
src/main/filters | Файлы ресурсов, содержимое которых зависит от переменных сборки и может быть определено только непосредственно в момент сборки проекта |
src/main/assembly | Дескрипторы для сборки (плагин maven-assembly, о нем позже) |
src/main/config | Локальные конфигурационные файлы проекта, если проект предполагает систему настройки |
src/main/webapp | Дескрипторы веб-приложения, для java веб-приложений это web.xml, специфические для контейнеров сервлетов дескрипторы. Странички jsp, таблицы стилей и прочие ресурсы веб-приложения |
src/test/java | Классы тестов. Перед компиляцией при сборке проекта Apache Maven выполняется фаза тестирования, по умолчанию для создания пакетов тестов используется JUnit — набор инструментальных средств для подготовки тест-кейсов |
src/test/resources | Ресурсы для тестов. На случай, если тест-кейсы нуждаются в локализации или специфических настройках |
src/test/filters | Файлы ресурсов для тестирования, содержимое которых зависит от переменных сборки и может быть определено только непосредственно в момент сборки проекта |
src/site | Каталог используется для генерации сайта проекта при помощи плагина maven-site, о нем будет рассказано позднее |
LICENSE.txt | Лицензия проекта |
NOTICE.txt | Файл используется в том случае, если в проекте используется библиотеки, лицензии которых требуют явного упоминания |
README.txt | В этом файле может содержаться инструкция по установке, обращение к пользователям |
Благодаря тому, что большинство ключевых для сборки параметров в Apache Maven определены по умолчанию, пользователям не нужно задавать значения для большинства параметров и можно сразу приступать к сборке, при этом сохраняется необходимая гибкость в настройке.
В Apache Maven принято соглашение о конфигурации и большинство параметров сборки имеют значения по умолчанию, все указанные в схеме директорий файлы и каталоги могут быть переопределены или различаться для проектов, создаваемых при помощи других языков программирования. К примеру, если Вы создаете проект с использованием Adobe Flex, исходные тексты будут, скорее всего, находиться в каталоге src/main/flex.