我无法使用“排除”在 build.gradle 文件中排除 Guava 模块。
有了这个依赖 block :
dependencies {
...
compile(group: 'com.google.api-client', name: 'google-api-client', version: '1.19.0') {
exclude(group: 'com.google.guava', module: 'guava-jdk5') // !!! Doesn't work!!!
...
}
...
}
我得到下面的依赖树。请注意,不排除 guava-jdk5。
+--- com.google.api-client:google-api-client:1.19.0
| +--- com.google.oauth-client:google-oauth-client:1.19.0
| | +--- com.google.http-client:google-http-client:1.19.0
| | | ...
| | \--- com.google.code.findbugs:jsr305:1.3.9
| ...
| \--- com.google.guava:guava-jdk5:13.0
...
注意最后一行仍然包含 guava 模块,它没有被排除。为什么?如何排除?
最佳答案
问题是另一个编译对象也依赖于将 guava-jdk5 作为传递依赖的第一级依赖,所以这个另一个对象引入了不需要的模块。
我终于能够看到这个使用
./gradlew -q :app:dependencyInsight --dependency guava --configuration compile
并且可以使用排除它
configurations {
compile.exclude module: 'guava-jdk5'
}
关于android - Gradle 不会按要求排除模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25993974/