来自 parent 项目的依赖项位于 Maven 依赖项树的哪个级别
On which level of the maven dependency tree are dependencies from the parent project
我有一个 parent pom,它依赖于版本为 1.0 的第三方 jar A。然后我有一个继承自 parent pom 的 child 项目。这个 child 项目定义了对库 B 的依赖,它本身依赖于版本为 1.1 的第三方 jar A。
依赖树看起来像这样吗(因此引入了 1.0 版):
Child->A(版本 1.0)
Child->B->A(版本 1.1)
parent POM 的依赖关系在依赖关系树的哪个级别?
在解决依赖关系之前,先将父子POM组合成一个"effective POM"。您可以使用 mvn
help:effective-pom
显示有效的 POM。因此你的依赖树变成:
(Effective POM) -> A:1.0
(Effective POM) -> B -> A:1.1
效果与您在子 POM 中声明 A:1.0 依赖项相同。由于 Maven 中的依赖关系更接近根 "win",因此使用 A:1.0。
此外,如果父 POM 和子 POM 都声明了对同一模块的依赖,则子指定的版本会覆盖父指定的版本(= 成为有效 POM 中的版本)。
我有一个 parent pom,它依赖于版本为 1.0 的第三方 jar A。然后我有一个继承自 parent pom 的 child 项目。这个 child 项目定义了对库 B 的依赖,它本身依赖于版本为 1.1 的第三方 jar A。
依赖树看起来像这样吗(因此引入了 1.0 版):
Child->A(版本 1.0) Child->B->A(版本 1.1)
parent POM 的依赖关系在依赖关系树的哪个级别?
在解决依赖关系之前,先将父子POM组合成一个"effective POM"。您可以使用 mvn
help:effective-pom
显示有效的 POM。因此你的依赖树变成:
(Effective POM) -> A:1.0
(Effective POM) -> B -> A:1.1
效果与您在子 POM 中声明 A:1.0 依赖项相同。由于 Maven 中的依赖关系更接近根 "win",因此使用 A:1.0。
此外,如果父 POM 和子 POM 都声明了对同一模块的依赖,则子指定的版本会覆盖父指定的版本(= 成为有效 POM 中的版本)。