Java 可传递依赖中的依赖关系管理

Java 可传递依赖中的依赖关系管理,java,maven,dependency-management,Java,Maven,Dependency Management,我正在寻找关于以下问题的全面解释或明确来源: 当工件A依赖于工件B,工件B有dependencyManagement部分时,该部分是否也用于构建依赖关系图 如果是,依赖关系图中对dependencyManagement的评估顺序是什么 我的印象(在第一次实验之后)是dependencyManagement没有(完全)包括在内,但我想知道如何处理例如无版本的依赖关系。你有更具体的例子吗?我创建了一个jar B,在dependencyManagement中将log4j设置为1.2.17版。B也确实过

我正在寻找关于以下问题的全面解释或明确来源:

当工件A依赖于工件B,工件B有dependencyManagement部分时,该部分是否也用于构建依赖关系图

如果是,依赖关系图中对dependencyManagement的评估顺序是什么


我的印象(在第一次实验之后)是dependencyManagement没有(完全)包括在内,但我想知道如何处理例如无版本的依赖关系。

你有更具体的例子吗?我创建了一个jar B,在dependencyManagement中将log4j设置为1.2.17版。B也确实过渡地使用log4j,但如果没有DependencyManager,版本将是1.2.15。如果我创建另一个依赖于B的jar A,我是继承log4j 1.2.17还是继承log4j 1.2.15?另一个场景:B在依赖项中有一个log4j的无版本条目。那么log4j的版本是否由B的DependencyManager(当A使用时)确定?如果我有jar A->B->C->D,这些jar都有DependencyManager,这可能会变得任意复杂。你有更具体的例子吗?我创建了一个jar B,它在DependencyManager中将log4j设置为1.2.17版。B也确实过渡地使用log4j,但如果没有DependencyManager,版本将是1.2.15。如果我创建另一个依赖于B的jar A,我是继承log4j 1.2.17还是继承log4j 1.2.15?另一个场景:B在依赖项中有一个log4j的无版本条目。那么log4j的版本是否由B的DependencyManager(当A使用时)确定?如果我有JAR A->B->C->D,这些JAR都有dependencyManagement,这可能会变得任意复杂。