Материал предоставлен https://it.rfei.ru

Обзор файлов проекта

После генерации проекта с помощью шаблона по умолчанию мы имеем простейшее приложение Hello World на Java.

Откройте проект в IDE и кратко ознакомьтесь с файлами и директориями проекта.

Компоновка проекта

Под компоновкой проекта (project layout) понимают расположение директорий и файлов, которое является стандартным для любого проекта Maven.

  • Файл pom.xml в корне проекта — это основной дескриптор проекта Maven.

    Среди множества сведений, большинство из которых опциональны, дескриптор содержит такие важные сведения, как координаты проекта (которые Вы указывали при генерации), информацию о зависимостях проекта, а также о плагинах, используемых при сборке.

    Важно понимать, что pom.xml предназначен для редактирования людьми, а не средствами автоматизации (например, IDE).

  • Директория src в корне проекта отмечает расположение исходных файлов и ресурсов приложения. Она состоит из:

    • директории main, которая группирует основные исходные файлы проекта; скомпилированные исходные коды из main попадают в основной дистрибутив;
    • директории test (может отсутствовать), в которой находятся файлы для автоматического тестирования (они используются при сборки, чтобы проверить на корректность те или иные компоненты программы); тесты не включаются в основной дистрибутив.

    Директории main и test могут состоять из следующих подкаталогов:

    • java — исходные коды на Java;
    • scala — исходные коды на Scala;
    • resources — произвольные файлы, включаемые в дистрибутив и доступные в CLASSPATH приложения (это могут быть файлы конфигурации, локали, шаблоны, изображения и т.д.);
    • webapp — файлы веб-приложений.

    В зависимости от библиотек, плагинов и технологий, которые Вы используете, могут появляться и другие подкаталоги.

  • Директория target в корне проекта содержит результаты сборки — файлы и папки, генерируемые Maven в процессе выполнения той или иной задачи. Там Вы найдете скомпилированные классы (байт-код), скопированные ресурсы, отчеты о тестах, собранные дистрибутивы и т.д.
Инициализация GitНастройка компиляции Scala