Я пытаюсь настроить управление плагинами maven для многомодульного проекта. Я хочу использовать раздел pluginManagement
без наследования (укажите версии плагина не в родительском pom). Моя структура проекта выглядит примерно так:
base_project
-- pom.xml
-- project-bom
-- pom.xml
-- project-a
-- pom.xml
В root pom. xml У меня только два модуля:
<modules>
<module>project-bom</module>
<module>project-a</module>
</modules>
В project-bom pom. xml Я указываю разделы dependencyManagement
и pluginManagement
с зависимостями и версиями плагинов, которые я хочу использовать:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.some</groupId>
<artifactId>dependency</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.some</groupId>
<artifactId>plugin</artifactId>
<version>1.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
В project-a pom. xml Я импортирую project-bom pom и использую зависимости и plugin:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.project</groupId>
<artifactId>project-bom</artifactId>
<version>1.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.some</groupId>
<artifactId>dependency</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.some</groupId>
<artifactId>plugin</artifactId>
</plugin>
</plugins>
</build>
Я могу использовать версии зависимостей, указанные в проекте-бомбе, но это не работает для плагинов. Это дает мне следующее предупреждение:
[WARNING] Some problems were encountered while building the effective model for <...>
[WARNING] 'build.plugins.plugin.version' for <org.some:plugin> is missing.
Можно ли указать pluginManagement не в родительском pom и импортировать его?