应该在哪里放置maven-compiler-plugin声明:在<plugins>或<pluginManagement>中?

MyT*_*tle 6 java maven

我有一个多模块maven项目,我想让我的所有子模块maven-compiler-plugin在root中使用pom.xml.我应该在哪里maven-compiler-plugin申报(在根目录中pom.xml):在<plugins>部分或<pluginManagement>部分?问题也与此有关maven-release-plugin.

And*_*nov 14

这两个部分(pluginspluginManagement)的目的略有不同.

第一个(plugins)用于指定项目的构建过程(以及从父项目继承的所有子项目).如果在此部分中包含一些插件,则无论其类型如何,都将在每个子项目中执行该插件.

第二个(pluginManagement)用于为从父项目继承的所有项目指定常见的插件设置(例如,插件版本和配置).

说到你提到的2个插件.maven-compiler-plugin是一个默认插件,无论您是否指定它都将执行.将其包含在其中pluginManagement并在其中指定其配置是有意义的.maven-release-plugin但是,默认情况下不受任何生命周期阶段的约束.因此,如果您希望在所有子项目中执行它,则必须将其添加到plugins部分.