Evgeniy S
Evgeniy S
Читать 1 минуту

2. Maven - POM

POM (Project Object Model) предоставляет конфигурацию для одного проекта. И охватыет имя проекта, владельца проекта, зависимости от других проектов. Доступны настройки для отдельных фаз процесса сборки, реализованные в виде плагинов. Большие проекты разделяются на несколько модулей или подпроектов, каждый со своим POM, а так же одним корневым POM, с помощью которого можно скомпилировать все модули с помощью одной команды. POM наследуется от базового POM по умолчанию.

Элементы POM

  • project - корневой элемент.
  • modelVersion - указывает на версию объектной модели используемой в POM
  • groupId - уникальный индедификатор группы, создавшей проект. Основан на доменом имени ( org.apache.maven )
  • artifactId - уникальное базовое имя основного артефакта, создавамого этим проектом ( app-1.0.jar )
  • version - версия артефакта, созданного проектом.
  • name - отображаемое имя, используемое для проекта.
  • url - элемент указывает на веб-сайт
  • description - описание этого проекта

Создайте проект для примера

mvn -B archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DgroupId=com.hashtab.app \
-DartifactId=app

Минимальный POM

<project xmlns="...">
<modelVersion> </modelVersion>
<groupId>com.hashtab.app</groupId>
<artifactId>app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>app</name>
</project>

Откройте app/pom.xml и найдите элементы из списка выше.

В репозитории проект: groupId:artifactId:version

Super Pom

Super Pom является по умолчанию Maven. Все POM в проекте расширяют Super Pom, если не настроено иначе. Посмотреть Super Pom можно используя команду:

mvn help:effective-pom

В результате в полученом выводе на консоль получаем:

  • директорию вывода
  • список плагинов
  • репозитории
  • структуру проекта
20 просмотров
Добавить
Еще
Evgeniy S
Подписаться