我在多模块项目中阅读sonatype&#39; tutorial,我发现在子模块中他们使用<pluginManagement>
配置如下:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
这让我感到困惑,因为我认为在父POM中使用<pluginManagement>
来为子模块提供通用的插件配置。在儿童poms中使用插件管理的原因是什么?
答案 0 :(得分:0)
大部分时间<pluginManagement>
用于父pom文件。
它配置插件。但是使它们不是构建的活跃部分。因此,您需要将它们添加到Maven pom文件的<plugins>
部分。大多数没有在父pom文件中完成,但是在(子)模块中完成,使用/引用那个(父)pom。
答案 1 :(得分:0)
我认为这对使用surefire插件很特别。
由于您使用mvn test
执行插件,因此将使用pluginManagement
块中指定的配置执行surefire插件。其他插件不是直接执行,而是通过将它们绑定到另一个生命周期阶段,因此必须在plugin
块中指定。
请参阅surefire插件的usage page。