Spring Boot启动失败:configDataContextRefresher Bean创建异常求助
Spring Boot启动BeanCreationException问题解决
问题核心
启动时触发的BeanCreationException根源是org.springframework.cloud.context.refresh.ConfigDataContextRefresher类无法被类加载器正常解析,通常与版本兼容性或依赖冲突相关。
解决方案
1. 升级Spring Cloud版本
Spring Boot 2.2.6.RELEASE搭配Hoxton.SR3虽属官方推荐组合,但Hoxton分支的SR12版本修复了多个兼容性问题。更新spring-cloud-dependencies版本:
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR12</version> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
2. 排查并解决依赖冲突
执行依赖树分析命令,查找重复或冲突的Spring Cloud组件:
- Maven:
mvn dependency:tree
若发现spring-cloud-context或spring-cloud-autoconfigure存在多版本依赖,在对应依赖中排除冲突项:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> <exclusions> <exclusion> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> </exclusion> </exclusions> </dependency>
3. 排除不必要的自动配置类
若项目无需配置刷新功能,直接在启动类排除RefreshAutoConfiguration:
@SpringBootApplication(exclude = {RefreshAutoConfiguration.class}) public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } }
4. 清理缓存与重建项目
- 清理构建工具缓存:
Maven:mvn clean install -U
Gradle:gradle clean build --refresh-dependencies - 清理IDE缓存(如IDEA:
File -> Invalidate Caches...)后重新构建。
内容的提问来源于stack exchange,提问作者duncan_89
相关产品推荐
相关产品推荐

