我开始使用BOM(依赖管理)来集中我的项目中通用依赖的版本,但对于插件版本似乎不起作用:如果我在BOM中添加pluginManagement部分,则在那里声明的插件版本似乎不会影响导入BOM的项目中插件的版本(Maven会提示未指定版本)。
为什么会这样呢?那么“Maven”的做法是集中通用插件版本的方法是什么?我应该只是使用父POM吗?
我开始使用BOM(依赖管理)来集中我的项目中通用依赖的版本,但对于插件版本似乎不起作用:如果我在BOM中添加pluginManagement部分,则在那里声明的插件版本似乎不会影响导入BOM的项目中插件的版本(Maven会提示未指定版本)。
为什么会这样呢?那么“Maven”的做法是集中通用插件版本的方法是什么?我应该只是使用父POM吗?
如果您使用的是被import
作用于scope的BOM,则只考虑dependencyManagement部分。摘自文档:
该作用域仅用于pom类型的依赖项在dependencyManagement部分中。它表示应该将指定的POM替换为该POM的部分中的依赖项。由于它们被替换,因此具有import作用域的依赖项实际上不参与限制依赖项的传递。
要定义插件,您应该使用父级,在其中通过pluginManagement来定义插件版本。