Сборка мульти-модульных проектов с помощью Maven
Бесплатный доступ
В статье анализируется использование сборки мульти-модульных проектов с помощью Maven. Приводятся плюсы использования инструмента сборки Maven в мульти-модульных проектах. Также демонстрируется пример использования мульти-модульности Maven.
Сборка, автоматизация сборки, мульти-модульность
Короткий адрес: https://sciup.org/140288099
IDR: 140288099
Текст научной статьи Сборка мульти-модульных проектов с помощью Maven
Мультимодульный проект Maven построен с помощью POM аггрегатора, который управляет группами подмодулей. В большинстве случаем агрегатор находится в корневом каталоге проекта. Подмодули являются обычными проектами Maven.
Существенным преимуществом такого подхода является уменьшение дублирования конфигурации. Например, есть приложение, которое состоит из нескольких модулей, назовем их внешним модулем и внутренним. В процессе разработки функциональность обоих модулей меняется и в таком случае без специального инструмента сборки придется собирать оба модуля по отдельности или писать скрипт, который будет компилировать код, запускать тесты и показывать результаты. Через определенное время к проекту добавится еще больше модулей и с текущей моделью сборки им станет сложнее управлять и поддерживать.
Кроме того, в реальном мире проектам могут потребоваться определенные плагины Maven для выполнения различных операций в течении цикла сборки, совместного использования зависимостей и профилей.
Maven поддерживает наследование таким образов, что каждый pom.xml имеет неявный родительский pom.xml, который называется Super POM и находится в бинарных файлах Maven. Следовательно, есть возможность создать собственный pom.xml, который будет родительским в рамках проекта. Затем туда включается вся конфигурация с зависимостями. Подмодули – это обычные проекты Maven, который наследуются от родительского pom.xml. Наследование позволяет делиться конфигурацией родительского pom.xml. Однако, если необходимо собрать весь проект за один раз, то необходимо явно объявить подмодули в родительском pom.xml.
•
[INFO] Reactor Build Order:
[INFO]
[INFO] learningpro
[INFO] learningpro-frontend
[INFO] learningpro-backend
[INFO]
[INFO] -----------------------------------------------------------------------
[INFO] Building learningpro 1.0.0-SNAPSHOT
[INFO] -----------------------------------------------------------------------
[INFO]
[INFO] — maven-clean-plugin:3.1.0:clean (default-clean) 5) learningpro —
[INFO]
Список литературы Сборка мульти-модульных проектов с помощью Maven
- Документация Maven [Электронный ресурс] URL: https://maven.apache.org/guides/index.html