' - >' (箭头)表示在gradle的依赖图中? [英] What does '->' (arrow) mean in gradle's dependency graph?
问题描述
我试图运行一些Android测试,但编译器抱怨存在多个dex文件。
I'm trying to run some Android tests, however, the compiler complains that multiple dex files exist.
Multiple dex files define Lorg/hamcrest/MatcherAssert;
所以我试图过滤重复的依赖项: $ ./gradlew - q依赖应用程序:依赖关系 - 配置androidTestCompile
So I'm trying to filter duplicated dependencies: $ ./gradlew -q dependencies app:dependencies --configuration androidTestCompile
但是,我得到以下输出:
However I get the following output:
------------------------------------------------------------
Project :app
------------------------------------------------------------
androidTestCompile - Classpath for compiling the androidTest sources.
+--- org.mockito:mockito-core:1.9.5
| +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| \--- org.objenesis:objenesis:1.0 -> 2.1
+--- com.google.dexmaker:dexmaker-mockito:1.2
| +--- com.google.dexmaker:dexmaker:1.2
| \--- org.mockito:mockito-core:1.9.5 (*)
+--- com.android.support.test.espresso:espresso-core:2.0
| +--- com.squareup:javawriter:2.1.1
| +--- org.hamcrest:hamcrest-integration:1.1
| | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| +--- org.hamcrest:hamcrest-library:1.1
| | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| +--- javax.inject:javax.inject:1
| +--- com.android.support.test.espresso:espresso-idling-resource:2.0
| +--- com.android.support.test:testing-support-lib:0.1
| | \--- junit:junit-dep:4.10
| | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| +--- com.google.code.findbugs:jsr305:2.0.1
| +--- javax.annotation:javax.annotation-api:1.2
| \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
+--- com.android.support.test:testing-support-lib:0.1 (*)
+--- org.powermock:powermock-module-junit4:1.5.6
| +--- junit:junit:4.11
| | \--- org.hamcrest:hamcrest-core:1.3
| \--- org.powermock:powermock-module-junit4-common:1.5.6
| +--- junit:junit:4.4 -> 4.11 (*)
| +--- org.powermock:powermock-core:1.5.6
| | +--- org.powermock:powermock-reflect:1.5.6
| | | \--- org.objenesis:objenesis:2.1
| | \--- org.javassist:javassist:3.18.2-GA
| \--- org.powermock:powermock-reflect:1.5.6 (*)
\--- org.powermock:powermock-api-mockito:1.5.6
\--- org.powermock:powermock-api-support:1.5.6
+--- org.powermock:powermock-core:1.5.6 (*)
\--- org.powermock:powermock-reflect:1.5.6 (*)
(*) - dependencies omitted (listed previously)
我对箭头( - >)的含义感到困惑。这是什么意思?
I'm confused as what the arrows (->) mean. What do they mean?
推荐答案
这意味着依赖关系图包含多个依赖关系,具有相同的 code>和
模块
,但不同的版本例如 org.hamcrest:hamcrest芯
。 Gradle尝试自动解决冲突的版本 - 默认选择最新版本。在的左侧,>
是请求的版本,右侧将选择该版本。 这里可以找到类似的问题。
It means that dependency graph contains multiple dependencies with the same group
and module
but different versions for e.g. org.hamcrest:hamcrest-core
. Gradle tries to resolve conflicted versions automatically - by default the latest version is chosen. On the left side of ->
is the requested version, on the right the version that will be picked. Here similar question can be found.
这篇关于' - >' (箭头)表示在gradle的依赖图中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!