背景
项目之前一直使用Spring Cloud Dalston.SR5,但是此版本2018年12月软件生命周期要结束,为了后续安全和维护的需要,需要将对版本进行升级。先从官网上分析D版本的后续版本的变更,发现大部分组件基本是兼容的,这里只列出对升级有重大影响的部分变化:
- Edgware:依赖的spring boot版本升级仍然是1.5, 许多组件的名称变化
- Finchley:依赖的spring boot版本升级到2.0,真正的大版本升级,重大变化
- Greenwich:依赖的spring boot版本升级到2.1,支持java11
然后我们再搜索网上其它人升级的经验和难度,最后决定将目前的spring cloud直接升级最新版本:Greenwich.SR1
升级的详细步骤和碰到的坑
spring-cloud-dependencies版本从Dalston.SR5到Greenwich.SR1
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
-->
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR1</version>
spring boot 版本从1.5.13 升级到2.1.4
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
-->
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
spring cloud的组件的artifactId名称变更: 左边是旧,右边是新的
spring-cloud-starter-eureka --> spring-cloud-starter-netflix-eureka-client
spring-cloud-starter-eureka-server --> spring-cloud-starter-netflix-eureka-server
spring-cloud-starter-feign --> spring-cloud-starter-openfeign
spring-cloud-starter-hystrix -> spring-cloud-starter-netflix-hystrix
将pom.xml中对应的artifactId名称修改为最新的名称
其它artifactId部分修改见这里:E版本