如何强制 Gradle 为两个依赖项设置相同的版本?

我使用以下两个依赖项:

compile 'com.google.guava:guava:14.0.1'
compile 'com.google.guava:guava-gwt:14.0.1'

两者必须具有相同的版本才能正常工作。由于我的其他依赖项使用更高的版本,因此 Gradle 对每个依赖项使用不同的版本。

我通过运行找到这个:gradle dependencies

compile - Compile classpath for source set 'main'.
 +--- com.google.guava:guava:14.0.1 -> 17.0
 +--- com.google.guava:guava-gwt:14.0.1
 |    +--- com.google.code.findbugs:jsr305:1.3.9
 |    \--- com.google.guava:guava:14.0.1 -> 17.0 

如何强制 Gradle 为这两个依赖项设置相同的版本?


答案 1

将此部分添加到依赖项.gradle 文件

configurations.all {
        resolutionStrategy { 
            force 'com.google.guava:guava:14.0.1'
            force 'com.google.guava:guava-gwt:14.0.1'
        }
    }

答案 2
configurations.all {
  resolutionStrategy.eachDependency { details ->
    if (details.requested.group == 'com.google.guava') {
      details.useVersion "14.0.1"
    }
  }
}

dependencies {
  compile 'com.google.guava:guava'
  compile 'com.google.guava:guava-gwt'
}

推荐