1. ホーム

[解決済み】Mavenのpom.xmlにあるpluginManagementとは何ですか?

2022-03-29 14:37:26

質問

これは、私のpomファイルのスニペットです。

....
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.4</version>                        
                <executions>
                    <execution>
                        <phase>install</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            ......
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
...

コマンドでうまく使っています。

mvn install

しかし、これを"pluginManagement"タグに囲もうとすると maven-dependency-plugin を起動すると動かなくなります。 install を目標にします。 なぜ "pluginManagement" タグでビルドの動作が変わるのでしょうか?または、別のゴールやオプションを使用する必要がありますか?

解決方法を教えてください。

を追加する必要があります。

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
    </plugin>
</plugins>

をビルドに含めると pluginManagement は、すべてのプロジェクトモジュールで同じプラグイン設定を共有するための手段でしかありません。

Mavenのドキュメントより。

プラグインマネジメント は、プラグインと並んで目にする要素です。プラグイン管理は、この特定のプロジェクトビルドのプラグイン情報を設定するのではなく、このビルドを継承するプロジェクトビルドを設定することを目的としていることを除いて、ほとんど同じ方法でプラグイン要素を含みます。ただし、これは子プロセスの plugins 要素内で実際に参照されているプラグインのみを設定するものです。子プロセスは、pluginManagement の定義を上書きする権利を有します。