我pluginManagement
在父级中使用 elementpom.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>
官方文档指出,pluginManagement
仍然必须将配置的插件添加到plugins
子 pom 中的元素中。事实上,如果我从子 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
并执行它配置的工作。
为什么会出现这种行为?是否有一个总是继承的插件列表,或者我可能遗漏了什么?