我注意到项目中的一些模式。有一个这样的依赖图:你的项目A - >其他一些项目B - > B的依赖项目C.项目B被声明为A的pom中的依赖项,B的依赖项C被排除在B之外,并被重新声明为项目A的直接依赖项。如果Maven文档公开表示它需要“排除”,那么这个排除的重点是什么?最近的“依赖关系,所以如果你直接声明它,那么Maven会使用该版本而不是任何传递版本吗?
答案 0 :(得分:0)
通常这样做是为了更改依赖项的版本或范围。 因此,您可以将依赖关系排除在C之外,从依赖关系到B,这样您就不会依赖于C.现在,您可以在A中添加直接依赖关系到另一个版本。
文档仍然是正确的,每个工件都应该声明它直接需要什么。但是在冲突的情况下,上述模式就是拯救。