SpringBoot2.6.1集成dubbo-spring-boot-starter2.7.3 Maven依赖解析失败
报错根本原因
该错误的核心是版本不兼容,具体成因如下:
- 适配范围不匹配:
dubbo-spring-boot-starter 2.7.3发布于2019年,官方适配的Spring Boot版本最高仅支持到2.2.x系列,而你使用的Spring Boot 2.6.1是2021年底发布的版本,远晚于2.7.3的发布时间,该版本dubbo的依赖元数据没有兼容高版本Spring Boot的相关配置。 - Maven依赖仲裁冲突:你当前项目的父pom为
spring-boot-starter-parent:2.6.1,会强制统一所有Spring、Spring Boot相关依赖的版本为2.6.1对应的系列版本,而dubbo-spring-boot-starter 2.7.3的pom文件中对Spring相关依赖的版本约束和2.6.1的版本规则冲突,导致Maven无法正常解析依赖的描述文件,抛出ArtifactDescriptorException异常,连带无法解析其他关联的传递依赖。
降级到2.7.0可正常运行的原因
dubbo-spring-boot-starter 2.7.0版本的依赖规则中对Spring Boot的版本约束更为宽松,没有硬编码和Spring Boot 2.6.x冲突的依赖版本范围,Maven的依赖仲裁机制可以顺利将所有Spring相关依赖统一为父pom管理的2.6.1版本,不存在冲突所以可以正常启动。
其他可选解决方案
如果不想降级dubbo版本,也可以通过两种方式解决问题:
- 排除
dubbo-spring-boot-starter中所有Spring、Spring Boot相关的传递依赖,交由父pom统一管理版本 - 升级dubbo版本到3.0.x及以上,该系列版本已经完成对Spring Boot 2.6.x的适配
内容的提问来源于stack exchange,提问作者ganlana
相关产品推荐
相关产品推荐

