pluginManagement
親の要素を使用しpom.xml
て、そのすべての子のプラグインを構成しています。たとえば、次の構成があります。
<pluginManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<id>copy-artifacts</id>
<phase>install</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>some/where/else</outputDirectory>
<resources>
<resource>
<directory>some/another/resource</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>deps/dir</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</pluginManagement>
公式ドキュメントには、構成されたプラグインを子 poms の要素にpluginManagement
追加する必要があると記載されています。plugins
実際、これを子 pom から削除すると:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
その後、フェーズmaven-dependency-plugin
で発火を停止します。install
ただし、他のいくつかのプラグイン、つまりmaven-resource-plugin
. 持っていなくても
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
私の子pomでは、そのcopy-resources
目標はまだinstall
フェーズで起動し、構成されている作業を実行します。
なぜこの動作が存在するのですか? 常に継承されるプラグインのリストはありますか、それとも何か不足していますか?