Spring 接入Nacos 与报错Error creating bean with name ‘configurationPropertiesBeans‘处理

在将Spring Boot应用接入Nacos时遇到Error creating bean with name 'configurationPropertiesBeans'异常。问题根源是springboot和spring cloud版本冲突,降级至2.2.5.RELEASE解决。此外,由于httpcore依赖被标记为test scope,导致打包时缺失jar包,移除test scope后问题解决。本地IDE未报错的原因待探究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、 增加相关依赖

注意,此处使用spring-cloud方式进行导入,需要注意两个的兼容性:

https://spring.io/projects/spring-cloud

同时需要注意spring-cloud 2020.xxx 版本后不支持bootstap文件

<!--服务发现依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>
<!--远程配置问题-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

1、 增加一个配置文件bootstrap.yml

spring:
  profiles:
    # 默认的类型
    active: dev
  application:
    name: xxxxxxxxx-${
   spring.profiles.active}
  cloud:
    nacos:
      discovery:
        # 指定nacos的命名空间
        namespace: ${
   spring.cloud.nacos.config.namespace}
      config:
        file-extension: yaml
        # nacos地址
        server-addr: ${
   spring.cloud.nacos.server-addr}
        namespace:  ${
   spring.cloud.nacos.discovery.namespace}
        extension-configs:
          # metrics config
          - dataId: global-config.yml
            group: GLOBAL_GROUP
            refresh: true
            # email config
          - dataId: mail-config.yml
            group: GLOBAL_GROUP
            refresh: true
# ${}这种方式优先取jvm参数,其次取文件内部定义的;以spring.profiles.active为例;
# 注意name一定要和nacos上配置名一致;用这个匹配的

2、增加配置参数

-Dspring.cloud.nacos.server-addr=http://xxxxxxxxxxxxxxxx
-DlogsDir=./xxxxxxxxxxxxxxxxxxxxx
-Dspring.cloud.nacos.config.namespace=xxxxx
-Dspring.profiles.active=xxxxx

3、启动程序:

发生报错

rg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configurationPropertiesBeans' defined in class path resource [org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.context.properties.ConfigurationPropertiesBeans] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:270)
	at 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值