Maven-具有不同版本的可传递依赖项 [英] Maven - transitive dependencies with different versions
问题描述
- 假设我的应用程序需要
foo.jar
和bar.jar
-
foo.jar
需要c.jar
的1.0版 -
bar.jar
需要c.jar
的2.0版
- Let's assume my application needs
foo.jar
andbar.jar
foo.jar
needs version 1.0 ofc.jar
bar.jar
needs version 2.0 ofc.jar
Maven如何解决此冲突?将使用哪个版本的c.jar
?
How does Maven resolve this conflict? Which version of c.jar
will be used?
推荐答案
这取决于有效POM中声明的顺序.如果首先显示foo.jar
,您将获得c.jar
的1.0版.另一方面,如果首先声明bar.jar
,则它将是c.jar
的2.0版.
It depends on the order of declaration in your effective POM. If foo.jar
shows up first you will get version 1.0 of c.jar
. If on the other hand bar.jar
is declared first it will be version 2.0 of c.jar
.
相关文档:
...两个依赖版本在依赖中的深度相同 一棵树,直到Maven 2.0.8,尚不确定哪一个会赢,但是 自Maven 2.0.9起,它是声明中的顺序: 第一次宣告胜利
...two dependency versions are at the same depth in the dependency tree, until Maven 2.0.8 it was not defined which one would win, but since Maven 2.0.9 it's the order in the declaration that counts: the first declaration wins
这篇关于Maven-具有不同版本的可传递依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!