Сборка мульти-модульных проектов с помощью Maven

Автор: Иванов Н.Ю.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 7 (47), 2020 года.

Бесплатный доступ

В статье анализируется использование сборки мульти-модульных проектов с помощью 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.

4.0.0

com.sobachken

learningpro

1.0.0-SNAPSHOT

learningpro-frontend

learningpro-backend

pom

learningpro

learningpro-backend

0.0.l-SNAPSHOT

learningpro-backend

jaif

learningpro

com.sobachken

l.0.0-SNAPSHOT

learningpro-frontend 0.0,l-SNAPSHOT

learningpro-frontend

learningpro

com.sobachken

l.О.0-SNAPSHOT

[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
Статья научная