在(类似于)BOM中集中插件版本?

30

我开始使用BOM(依赖管理)来集中我的项目中通用依赖的版本,但对于插件版本似乎不起作用:如果我在BOM中添加pluginManagement部分,则在那里声明的插件版本似乎不会影响导入BOM的项目中插件的版本(Maven会提示未指定版本)。

为什么会这样呢?那么“Maven”的做法是集中通用插件版本的方法是什么?我应该只是使用父POM吗?


1
请查看 https://issues.apache.org/jira/browse/MNG-5588。 - caduceus
你可以使用tiles-maven-plugin将插件提取到单独的tile中。该插件会动态地将指定的tile粘合到项目中,就好像它们都是项目的父级一样。 - Ilya Serbis
1个回答

33

如果您使用的是被import作用于scope的BOM,则只考虑dependencyManagement部分。摘自文档:

该作用域仅用于pom类型的依赖项在dependencyManagement部分中。它表示应该将指定的POM替换为该POM的部分中的依赖项。由于它们被替换,因此具有import作用域的依赖项实际上不参与限制依赖项的传递。

要定义插件,您应该使用父级,在其中通过pluginManagement来定义插件版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接