添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首页 > 软件编程 > java > springboot与dubbo版本匹配

springboot与dubbo的版本匹配问题

作者:EmineWang

这篇文章主要介绍了springboot与dubbo的版本匹配问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot与dubbo的版本匹配

项目里原始版本

  • springboot:2.1.6.RELEASE
  • dubbo-spring-boot-starter : 0.2.1.RELEASE
  • dubbo: 2.6.5
  • 上面这么写是可以正常运行的。但是当把dubbo升级到2.6.7时候,却报错了,异常如下:

    升级到2.6.7后错误日志

    Description:

    The bean 'dubboConfigConfiguration.Single', defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.

    Action:

    Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

    后来经过尝试,把springboot的版本下调到2.0.9时候,项目可以正常启动。

    所以得到下面这个版本匹配的结论:

    2.7版本以下的,使用的是 alibaba目录 下的jar,

    springbootdubbo-springdubbo注1.x0.1.2.RELEASE2.6.5+2.6.6以上的dubbo需要配置netty-alljar包2.0.0~2.0.90.2.1.RELEASE2.6.5/2.6.6/2.6.72.1.x0.2.1.RELEASE2.6.5 /2.7.1

    2.7版本以上的,用apache目录下面的jar,dubbo-spring和dubbo都使用 apache下面 的版本,统一使用2.7即可,springboot也可以用2.1.x以上

    springboot+dubbo版本对应关系

    springboot 和 dubbo 在 pom.xml 中的版本是有对应关系的,如果配置的依赖不按照对应关系配置的话项目启动就会报错,报错的信息如下所示:

    java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.boot.dubbo.autoconfigure.DubboAutoConfiguration
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:403) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:249) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:283) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:127) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at com.ProviderApplication.main(ProviderApplication.java:13) [classes/:na]

    我在项目中使用的阿里巴巴的 dubbo-spring-boot-starter 版本是 0.2.0 ,maven 依赖如下所示:
    <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</version> </dependency>

    则对应的使用 spring-boot-starter-parent 的版本号是 2.1.6.RELEASE ,这样配置依赖的话,项目启动是没有问题的。

    Dubbo Spring Boot Dubbo Spring Boot 0.2.1.RELEASE 2.6.5+ 0.1.2.RELEASE 2.6.5+

    可以在 https://mvnrepository.com/artifact/com.alibaba.boot/dubbo-spring-boot-starter 里面查看 dubbo 的所有版本信息。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
  • mybatis中关于mapper的使用以及注意事项
    mybatis中关于mapper的使用以及注意事项
    2023-06-06
  • Spring Cloud Gateway编码实现任意地址跳转
    Spring Cloud Gateway编码实现任意地址跳转
    2023-06-06
  • 详解如何在SpringBoot中使用WebMvc
    详解如何在SpringBoot中使用WebMvc
    2023-06-06
  • Java多线程的sleep休眠的实现
    Java多线程的sleep休眠的实现
    2023-06-06
  • Java中的几种关键字的使用小结
    Java中的几种关键字的使用小结
    2023-06-06
  • springboot如何接收get和post请求参数
    springboot如何接收get和post请求参数
    2023-06-06
  • java并发编程之进程和线程调度基础详解
    java并发编程之进程和线程调度基础详解
    2023-06-06
  • SpringBoot中接收POST参数的几种方式详解
    SpringBoot中接收POST参数的几种方式详解
    2023-06-06
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号