【发布时间】:2021-09-15 12:55:11
【问题描述】:
我有一个父 POM 和一个普通的 Maven 项目。
两者都在其依赖项管理中定义 BOM。在某些情况下,这些 BOM 可能会重叠,例如都指定了 log4j 的版本。
从我的测试看来:
- 对于父 POM 中的重叠 BOM,第一个获胜,即为工件提供版本。
- 如果来自子级和父级的 BOM 重叠,则来自子级 BOM 的版本胜出。
很遗憾,我没有找到任何关于此的文档。
我是对的吗?我可以依赖这种行为吗?
【问题讨论】:
-
我可以承认第一个。第二个可以通过最近的解决方案策略来解释(从未有过这种情况;仅在父项中定义了事物)。但我怀疑是以这种方式记录的......我会说你可以依赖它(对于 Maven 3.X)..
-
@khmarbaise 谢谢。我还想在父级中定义所有内容,但我们有这样的情况,在一个多模块项目中,一个工件将部署在 WebSphere 上,另一个工件将部署在 JBoss 上。它们具有不同的提供依赖项,在不同的 BOM 中管理。
标签: java maven parent-pom maven-bom