Spring Boot 3升级遇java.lang.NoSuchMethodError问题求助
排查方向
- 清理Eclipse运行环境的旧依赖:直接删除
.factoryPath中spring-web-5.3.29.jar的引用,右键项目选择「Maven→Update Project」,强制IDE同步Maven管理的6.1.10版本依赖。 - 替换不兼容的OAuth2旧依赖:
spring-security-oauth2:2.5.1.RELEASE仅适配Spring 5.x,和Spring 6/Spring Boot 3完全冲突。移除该依赖,改用项目中已有的spring-security-oauth2-client:6.2.5或直接依赖spring-boot-starter-oauth2-client,避免旧依赖引入Spring 5的组件。 - 校验运行时类路径:
- 启动应用时添加JVM参数
-verbose:class,查看org.springframework.http.client.ClientHttpResponse类的加载来源,确认是否来自旧版本spring-web.jar。 - 检查打包后的
lib目录,若存在spring-web-5.3.29.jar,执行mvn dependency:tree -Dverbose排查是否有其他依赖隐式引入了该旧版本。
- 启动应用时添加JVM参数
- 清理缓存与重新构建:
- 删除项目根目录的
.classpath、.project文件,重新导入Maven项目,清理Eclipse缓存。 - 删除本地Maven仓库中
org/springframework/spring-web下的所有文件,执行mvn clean install重新下载依赖。
- 删除项目根目录的
- 检查自定义/第三方代码兼容性:若项目中有自定义的
ClientHttpResponse实现或依赖该类的第三方组件,确认其是否适配Spring 6的API规范,避免因代码依赖旧方法签名导致的冲突。
内容的提问来源于stack exchange,提问作者stackuser
相关产品推荐
相关产品推荐

