依赖管理的传递效应

JF *_*ier 12 java dependency-management maven transitive-dependency

在Maven中,您可以通过dependencyManagement中的条目覆盖传递依赖项的版本号,因为dependencyManagement优先于传递依赖项定义.

但是(传递)依赖的poms中的dependencyManagement定义呢?它们是否被考虑过?如果是这样,它们会覆盖什么,它们如何被覆盖?

His*_*lil 0

只要传递依赖项的 pom 中的 dependencyManagement 定义没有在项目的 dependencyManagement 或更紧密的依赖项(在依赖项树中)中被覆盖,就会被考虑。

换句话说,

依赖性调解:规则很简单

  • “最近的定义”这意味着它将使用依赖关系树中与您的项目最接近的依赖关系的版本。

  • 如果两个依赖项版本在依赖项树中处于相同深度,则第一个声明获胜(声明顺序)。

有关更多详细信息,请参阅传递依赖

希望这可以帮助。