0

我注意到项目的 poms 中有一些模式。有一个像这样的依赖关系图:你的项目 A -> 其他项目 B -> B 的依赖项目 C。项目 B 在 A 的 pom 中声明为依赖项,而 B 的依赖项 C 从 B 中排除并重新声明为直接依赖项项目 A. 如果 Maven 文档公开说它采用“最近”依赖项,那么这个排除的意义是什么,所以如果你直接声明它,那么 Maven 使用那个版本而不是任何传递的版本?

4

1 回答 1

0

您通常这样做是为了更改依赖项的版本或范围。因此,您可以从对 B 的依赖中排除对 C 的依赖,这样您就不会依赖于 C。现在,您可以在 A 中添加对 C 的直接依赖,并使用另一个版本。

文档仍然是正确的,每个工件都应该声明它直接需要什么。但在发生冲突的情况下,上述模式就是救援。

于 2016-02-23T19:57:04.980 回答