Можно ли указать pluginManagement не в родительском pom? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь настроить управление плагинами 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 и импортировать его?

1 Ответ

2 голосов
/ 05 мая 2020

В настоящее время это невозможно. В проекте Maven есть открытый билет для добавления этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...