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

Gradle项目升级Spring至5.3.20构建时无法解析spring-webmvc依赖

问题根因

执行Gradle构建时出现如下依赖解析错误:

Could not resolve: org.springframework:spring-webmvc:5.3.20

该错误本质是Gradle在所有配置的制品仓库中,无法找到对应版本的spring-webmvc包完成下载,常见触发原因如下:

  • 配置的制品仓库不可用:要么仅配置了未同步Spring 5.3.20版本的企业私有代理仓库,要么本地网络拦截了公网Maven仓库的请求,要么仓库配置顺序错误导致优先命中了无对应版本的仓库。
  • 本地Gradle缓存损坏:之前拉取该版本依赖时出现网络中断、进程被杀等异常,导致本地缓存了残缺的包元数据或文件,后续构建直接判定该依赖不可用。
  • 依赖解析规则冲突:项目中配置了版本锁定、强制版本、依赖排除等规则,将Spring相关包的版本锁死在5.2.x分支,打断了5.3.20版本的解析链路。
  • 版本拼写错误:误写版本号数字、添加了不存在的版本后缀(不过5.3.20是Spring官方正式发布的稳定版,该原因概率较低)。
排查修复步骤

按从易到难的顺序依次排查即可:

  1. 核对版本与仓库配置
    打开项目下的build.gradle或settings.gradle文件,首先确认repositories块中配置了可正常访问的制品仓库,标准配置参考如下:
    repositories {
        mavenCentral()
        // 若使用企业私有仓库,需提前确认管理员已同步Spring 5.3.20全量制品
    }
    
    如果使用企业内部代理仓库,第一时间联系仓库管理员确认spring-webmvc:5.3.20是否已完成同步,是否存在仓库规则拦截该版本下载的情况。
  2. 清理损坏缓存并强制刷新依赖
    先执行强制刷新依赖的构建命令,跳过本地缓存重新拉取所有依赖:
    ./gradlew build --refresh-dependencies
    # Windows系统执行 gradlew.bat build --refresh-dependencies
    
    如果命令执行后仍报错,手动删除本地Gradle缓存中对应版本的目录,默认缓存路径为~/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.3.20,删除整个5.3.20文件夹后重新执行构建。
  3. 排查依赖解析规则冲突
    全局搜索项目中的Gradle配置,查找是否存在以下类型的规则:
    • 使用force强制指定Spring核心包版本为5.2.x
    • 在resolutionStrategy中配置了Spring版本锁定规则
    • 存在针对spring-webmvc的exclude排除规则
      定位到冲突规则后,将规则中锁定的旧版本调整为5.3.20,或临时注释规则验证构建是否恢复正常。
  4. 排查网络连通问题
    测试本地网络是否能正常访问配置的Maven仓库地址,若开启了网络代理、防火墙拦截了jar包下载请求,切换为可用网络或配置可达的国内Maven镜像源即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:54:31