如何理解`org.ow2.asm:asm-tree:4.0 - >在`gradle dependencies`中的5.0.3(*)`

时间:2015-01-22 06:56:15

标签: gradle dependencies version

当我在项目上运行gradle dependencies时,它会显示依赖关系树,其中一些看起来像:

+--- org.ow2.asm:asm:5.0.3

+--- com.jayway.restassured:rest-assured:1.8.1
|    +--- org.codehaus.groovy:groovy:2.1.2
|    |    +--- antlr:antlr:2.7.7
|    |    +--- org.ow2.asm:asm-tree:4.0 -> 5.0.3 (*)
|    |    +--- org.ow2.asm:asm-commons:4.0 -> 5.0.3 (*)
|    |    +--- org.ow2.asm:asm:4.0 -> 5.0.3

对于最后3行,每行有两个版本,4.05.0.3

我可以从这条线获得哪些信息?这是否意味着rest-assured 1.8.1依赖4.0,但现在它发现了新版本5.0.3,所以它只使用新版本?

这样使用它是否安全?是否最好将rest-assured升级为在ASM 5.0.3上回复的新版本?

1 个答案:

答案 0 :(得分:1)

<强> TL;博士

查看this回答。

<强>解释

这意味着在依赖关系中存在冲突 - 具有相同的group和artifactId。它们通常通过指定的依赖项进行传递下载。 Gradle尝试自动解决它 - 选择最新版本(使用->签名)。可以排除冲突的依赖关系。