【发布时间】:2018-02-06 08:38:40
【问题描述】:
如果我的 build.gradle 文件中有两个引用组工件的依赖项,并且这两个组都包含对相同 jar 文件的引用,Gradle 如何处理它们? Gradle 是否识别组成组的各个 jar 文件之间的版本差异,并且仅在进行编译时选择具有最新版本的文件,还是选择 build.gradle 文件中最后列出的文件?示例:
dependencies {
compile group: 'some-sdk-1', name: 'sdk1', version: '2.5'
compile group: 'some-sdk-2', name: 'sdk2', version: '1.0'
}
在本例中,some-sdk-1 可能包含一个名为 lib1-1.0.jar 的 jar 在 some-sdk-2 中,存在相同的库,但版本不同。例如 lib1-2.0.jar
用的是哪个jar文件?
【问题讨论】:
-
您可以运行
./gradlew :dependencyInsight --dependency lib1 --configuration compile(如果您在Windows 上将./gradlew替换为gradlew.bat。您将看到Gradle 是如何解决冲突的。默认情况下,您将看到lib1-2.0。 jar(最新)被选中。
标签: gradle