You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle同时下载Gson 2.9.0与2.8.6,如何强制仅使用2.9.0?

解决Gradle强制使用Gson 2.9.0版本的问题

第一步:定位旧版本依赖来源

先运行Gradle命令查看依赖树,找到哪个传递依赖引入了Gson 2.8.6:

./gradlew dependencies --configuration runtimeClasspath

在输出中搜索com.google.code.gson:gson,找到类似这样的条目:

+--- com.example.some-dependency:1.0.0
|    +--- com.google.code.gson:gson:2.8.6

这就能明确是哪个依赖带进来的旧版本Gson。

第二步:针对性排除传递依赖

找到来源后,在对应的依赖声明中排除旧版本Gson:

implementation('com.example.some-dependency:1.0.0') {
    exclude group: 'com.google.code.gson', module: 'gson'
}

第三步:全局强制版本(最可靠的方式)

在项目根目录的build.gradle(或模块的build.gradle)中添加全局版本强制策略,覆盖所有配置:

configurations.all {
    resolutionStrategy {
        force 'com.google.code.gson:gson:2.9.0'
    }
}

然后在依赖块中明确声明需要的版本:

implementation 'com.google.code.gson:gson:2.9.0'

第四步:清理Gradle缓存并重新构建

有时候旧版本依赖会被Gradle缓存,执行以下命令强制刷新:

./gradlew clean build --refresh-dependencies

常见问题排查

  • 确认依赖配置类型:不要用compileOnly除非你明确只在编译时需要Gson,compileOnly不会影响运行时依赖,旧版本可能仍会被其他传递依赖引入。
  • 多模块项目检查:如果是多模块项目,确保所有子模块都应用了相同的版本强制策略,或者根项目的build.gradle中统一配置。
  • 检查依赖声明笔误:你最初的依赖声明implementation 'com.google.code.gson:gson.2.9.0有笔误(应该是gson:2.9.0),虽然后续尝试中修正了,但要确保所有地方的依赖写法正确。

内容的提问来源于stack exchange,提问作者PassionateAbtCoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:25:25