gradle依赖关系树中asterix和箭头符号的含义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gradle依赖关系树中asterix和箭头符号的含义相关的知识,希望对你有一定的参考价值。

我已经运行gradlew命令来获取gradle依赖树。

gradlew.bat应用程序:依赖项

在输出时,我得到每个依赖项附加的不同类型的符号:

 com.twotoasters.servos:util-otto:1.0.0
 com.squareup.okhttp:okhttp:2.4.0 (*)
 com.android.support:recyclerview-v7:23.2.0 -> 25.0.0

有些依赖项没有任何符号,有些依赖于(*)->

这些符号是什么意思?

我试图搜索这个,但没有找到任何帮助。

答案

(*)站在依赖项旁边,该依赖项已经通过其他工件导入,因此导致重复。

./gradlew :app:dependencies的输出结束时你可以看到:enter image description here

->站在依赖项的旁边,该依赖项已经通过其他工件导入,但是使用了更新的版本。 Gradle会更喜欢新版本。

因此,com.android.support:recyclerview-v7:23.2.0 -> 25.0.0意味着,25.0.0版本已经导入,但特别是该工件依赖于较旧的23.2.0版本。

请参阅Egor Andreevici在2017年意大利Droidcon的"Making the most of your Gradle Builds"演讲中的解释。

另一答案

->意味着从版本23.2.025.0.0,它在离线模式下运行gradle时非常有用,因此它将使用第一个可用的缓存版本(*)我不确定,但我认为它是用于下载和编译以下所有库系列(核心等)。 ..)还有+用于代替版本代码,它将使用可用的最新版本

以上是关于gradle依赖关系树中asterix和箭头符号的含义的主要内容,如果未能解决你的问题,请参考以下文章

uml中,各种符号的意义总结

UML类图画法全程解析

使用Gradle构建时间点

UML类图常见的几种关系

Gradle:依赖关系和配置之间的联系是什么?

Gradle + Buildship - 在 JAR 和项目之间切换依赖关系