升级Spring Cloud 2020.0.3后找不到ConfigurationBeanFactoryMetadata类如何解决
报错根因
org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata 类在Spring Boot 2.4.0及以上版本已被官方正式移除。你确认的Spring Cloud 2020.0.3与Spring Boot 2.4.9版本兼容关系是正确的,出现报错的核心原因是项目中存在未适配Spring Boot 2.4.x的第三方依赖,或是Spring生态组件的版本出现了冲突,仍有代码在尝试调用这个已经被删除的类。
你当前项目存在的版本冲突
从你提供的依赖树可以看到,你显式指定了org.springframework.data:spring-data-redis:2.5.0版本,而Spring Boot 2.4.9官方默认适配的spring-data-redis版本为2.4.11,版本不匹配导致相关依赖类加载逻辑错乱,同时可以看到依赖树中spring-data-keyvalue已经被自动降级到了2.4.11,不同版本的Spring Data组件混杂是触发本次报错的直接原因之一。
修复方案
- 移除项目中单独声明的
org.springframework.data:spring-data-redis版本号,直接继承spring-boot-starter-parent自带的版本,保证Spring Data全系组件版本和Spring Boot版本匹配。 - 排查项目引入的所有第三方依赖(常见如Spring Cloud Alibaba、Nacos、Sentinel、自定义Starter组件等),确认所有组件都已适配Spring Boot 2.4.x版本,如果存在低版本适配组件,升级到对应支持Spring Boot 2.4.x的版本即可。
- 再次执行依赖树排查,确认所有Spring Boot、Spring Cloud相关组件的版本都统一在2.4.9、2020.0.3对应的版本范围内,无高低版本混杂的情况。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

