• 启动spring-boot出现Error creating bean with name ‘configurationPropertiesBeans‘ defined in class的报错


    整合注册中心Eureka,启动provider_service服务的时候出现了如下的报错:(后面发现是由于provider_service,eureka_server使用的spring-boot版本不一致导致报错)

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configurationPropertiesBeans' defined in class path resource [org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.context.properties.ConfigurationPropertiesBeans]: Factory method 'configurationPropertiesBeans' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:484) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1179) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.1.jar:5.3.1]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.1.jar:5.3.1]
     

    后面仔细查看了pom.xml之后发现

    provider_service的pom.xml里面的spring-boot是2.4版本的

    1.  
      <groupId>org.springframework.boot</groupId>
    2.  
      <artifactId>spring-boot-starter-parent</artifactId>
    3.  
      <version>2.4.0</version>

    而注册中心Eureka(eureka_server)pom.xml的spring-boot的版本为:

    1.  
      <groupId>org.springframework.boot</groupId>
    2.  
      <artifactId>spring-boot-starter-parent</artifactId>
    3.  
      <version>2.2.11.RELEASE</version>
    4.  
      <relativePath/>

    后面将provider_service的pom.xml里面的spring-boot版本修改和eureka_server一致,provider_service服务就能正常开启了。

    总结:整合注册中心Eureka的时候,各个服务使用的spring-boot版本最好保持一致,不然可能会出现未知错误。

  • 相关阅读:
    架构,改善程序复用性的设计(目录)
    如何让你的系统配置文件更合理
    MVC验证(自动在基类中验证实体的数据有效性),本人最满意的作品之一
    MVC验证(只验证指定字段)
    Redis学习笔记~实现消息队列比MSMQ更方便
    FRG图像文件格式(四):编码技术
    缓冲区
    Oracle体系结构及备份(十一)——bcakgroundprocess
    Excel编程(2)自动填充
    设计模式:策略模式
  • 原文地址:https://www.cnblogs.com/LoganChen/p/14138612.html
Copyright © 2020-2023  润新知