SpringBoot和SpringCloud版本升级

一、升级步骤
将SpringBoot版本升级为目前最新的稳定版本2.2.6
SpringCloud版本升级为对应匹配Hoxton.SR4
如下图所示

org.springframework.boot
spring-boot-starter-parent
2.2.6.RELEASE

org.springframework.cloud spring-cloud-dependencies Hoxton.SR4 pom import

二、常见问题及解决方案
1、部分依赖artifactid发生变化的。例如用到eureka、hystrix、ribbon、redis依赖的需要将依赖artifactid改成新版本对应的名称。
例如
ribbon由原先的
spring-cloud-starter-ribbon
改为
spring-cloud-starter-netflix-ribbon

eureka由原先的
spring-cloud-starter-eureka
改为
spring-cloud-starter-netflix-eureka-client

其他的可通过以下地址去maven仓库查询新版本的依赖名称
https://mvnrepository.com/

2、启动报java.lang.NoClassDefFoundError: redis/clients/jedis/JedisPoolConfig

原因:缺少Jedis的依赖
解决办法:
引入以下依赖

redis.clients
jedis

3、
启动报EmbeddedServletContainerInitializedEvent类找不到

原因:
spirng-boot 2.0 之后将
org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent
修改为
org.spr

### Spring Boot Spring Cloud 版本差异概述 Spring Boot Spring Cloud 的版本管理遵循不同的发布周期发展路线图。对于两者之间不同版本的主要区别,可以从功能增强、依赖管理兼容性等方面进行分析。 #### 功能特性演变 随着每次主要更新,Spring Boot 不断引入新的特性改进现有组件的支持能力[^1]。例如,在早期版本中可能仅支持部分数据库连接池配置选项;而在较新版本里则增加了更多种类的数据源适配器以及优化过的性能参数设置方法。同样地,Spring Cloud 也经历了类似的演进过程,特别是在微服务治理方面的能力得到了显著提升,比如服务发现机制从 Eureka 到 Consul 或 Nacos 的多样化选择支持范围扩大[^2]。 #### 依赖关系调整 由于两个项目分别维护各自的依赖项列表及其版本号,因此当其中一个升级时可能会引起另一个所需库的变化。这也就意味着开发者需要注意查看官方文档中的版本对应表以确保所使用的组合能够正常工作而不发生冲突或不兼容的情况。通过访问指定链接可以查询到详细的版本映射信息。 ```python import requests url = 'https://start.spring.io/actuator/info' response = requests.get(url) if response.status_code == 200: data = response.json() print(data['versions']) else: print('Failed to retrieve version information.') ``` #### 兼容性考量 尽管大多数情况下较版本Spring Boot 可以很好地与相应时期的 Spring Cloud 结合使用,但在某些特殊场景下仍需谨慎对待潜在的风险因素。特别是涉及到第三方插件集成或是特定业务逻辑实现的时候,建议先进行全面测试再决定是否迁移至最新版次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值