当我在项目上运行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.0
和5.0.3
。
我可以从这条线获得哪些信息?这是否意味着rest-assured 1.8.1
依赖4.0
,但现在它发现了新版本5.0.3
,所以它只使用新版本?
这样使用它是否安全?是否最好将rest-assured
升级为在ASM 5.0.3
上回复的新版本?
答案 0 :(得分:1)
<强> TL;博士强>
查看this回答。
<强>解释强>
这意味着在依赖关系中存在冲突 - 具有相同的group和artifactId。它们通常通过指定的依赖项进行传递下载。 Gradle尝试自动解决它 - 选择最新版本(使用->
签名)。可以排除冲突的依赖关系。