Caused by: org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata

问题

启动springboot项目时报错如下:
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
在这里插入图片描述

问题分析

这个错误表明 Spring Boot 应用在启动时找不到 ConfigurationBeanFactoryMetadata 类。这个类是 Spring Boot 2.x 版本中的内部类,但在 Spring Boot 3.0 中被移除了。
主要原因:

  • 版本不兼容:项目使用了 Spring Boot 3.x,但依赖库仍需要 Spring Boot 2.x 的类
  • 依赖冲突:引入了不兼容的 Spring Cloud/Spring Cloud Alibaba 版本
  • 过时依赖:使用了已废弃的 spring-cloud-starter-alibaba-nacos-config 等组件

问题解决

方案一:升级 Spring Cloud Alibaba 版本(推荐)

<!-- pom.xml 中更新依赖 -->
<properties>
    <!-- 使用 Spring Boot 3.x 兼容版本 -->
    <spring-boot.version>3.2.5</spring-boot.version>
    <spring-cloud.version>2023.0.1</spring-cloud.version>
    <spring-cloud-alibaba.version>2023.0.1.0</spring-cloud-alibaba.version>
</properties>

<dependencies>
    <!-- 使用新版 nacos-config -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>${spring-cloud-alibaba.version}</version>
    </dependency>
    
    <!-- 确保使用 Spring Boot 3.x starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>${spring-boot.version}</version>
    </dependency>
</dependencies>

成功启动!
在这里插入图片描述

方案二:降级 Spring Boot 版本(兼容旧系统)

<properties>
    <!-- 降级到 Spring Boot 2.7.x -->
    <spring-boot.version>2.7.18</spring-boot.version>
    <spring-cloud.version>2021.0.8</spring-cloud.version>
    <spring-cloud-alibaba.version>2021.0.8.0</spring-cloud-alibaba.version>
</properties>

方案三:排除冲突依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.2.9.RELEASE</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-context</artifactId>
        </exclusion>
    </exclusions>
</dependency>

版本兼容对照表

Spring BootSpring CloudSpring Cloud Alibaba是否支持
3.2.x2023.0.x2023.0.x.0✅ 推荐
3.1.x2022.0.x2022.0.x.0
3.0.x2022.0.x2022.0.x.0⚠️ 部分
2.7.x2021.0.x2021.0.x.0
2.6.x2021.0.x2021.0.x.0⚠️ 需验证
2.5.x2020.0.x2021.0.x.0❌ 不兼容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值