Root-элемент <project> содержит все остальные настройки.
Обязательные элементы:
<modelVersion>: Версия объектной модели Maven (обычно 4.0.0).<groupId>: Идентификатор группы артефакта (например, com.example).<artifactId>: Идентификатор артефакта (имя проекта).<version>: Версия артефакта.Остальные распространенные элементы:
<packaging>: Тип упаковки проекта (например, jar, war, pom).<name>: Отображаемое имя проекта.<description>: Описание проекта.<url>: URL проекта.<parent>: Ссылается на родительский POM для наследования конфигурации. Содержит <groupId>, <artifactId>, <version>.<properties>: Определяет свойства, которые можно использовать в других местах POM.
xml
<dependencies>: Список зависимостей проекта. Каждая <dependency> содержит:
<groupId><artifactId><version><scope>: Область применения зависимости (например, compile, test, provided, runtime).<optional>: true или false, указывает, является ли зависимость необязательной.<exclusions>: Список зависимостей, которые следует исключить из транзитивных зависимостей.xml
<build>: Конфигурация для сборки проекта. Содержит:
<finalName>: Имя выходного артефакта.<plugins>: Список плагинов Maven для выполнения различных задач сборки. Каждая <plugin> содержит:
<groupId><artifactId><version><executions>: Настройка выполнения плагина на определенных фазах сборки.<configuration>: Конфигурация плагина.xml
<repositories>: Список репозиториев Maven для поиска зависимостей.<distributionManagement>: Информация о репозиториях для развертывания артефактов.<profiles>: Позволяет определять различные конфигурации сборки, которые активируются при определенных условиях.<modules>: Используется в POM типа pom для агрегации дочерних модулей.Основная структура:
xml