Java 将父pom中使用的Maven插件版本重写为主pom中的新版本
从事多模块maven项目。在父pom中使用maven编译器插件,如下所示:Java 将父pom中使用的Maven插件版本重写为主pom中的新版本,java,maven,maven-compiler-plugin,Java,Maven,Maven Compiler Plugin,从事多模块maven项目。在父pom中使用maven编译器插件,如下所示: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> &
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
希望在主项目pom中使用3.1,因为它支持增量编译。在父pom中没有写入权限。如何在主项目pom中配置插件以使用新版本?您可以覆盖子模块中的插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
定义一个。。在项目中阻塞,只需在我离开的地方给出groupId/artifactId/version。。当然是新版本。。不需要定义其他东西。除此之外,我强烈建议升级到maven编译器插件3.8.1的最新版本。。。see in或in plugins SectionPluginMgmt旨在配置从该插件继承的项目构建。。。所以我会说插件here@CodeScale可以用来简单地覆盖插件的版本。给定的示例覆盖了不需要覆盖的内容。这就是pluginManagement的原因。@khmarbaise pluginmgmt应该在父pom.xml上使用,我同意这一点。但对于子模块,我刚才说使用插件似乎更好地覆盖父插件定义