前言
始终在应用 SpringCloud Hoxton.SR4 版本,以及 SpringBoot 2.2.5.RELEASE 版本,自从 SpringCloud 降级到 2020.0 之后想尝试下降级,并且把遇到的问题记录下来分享给大家
版本对照
官网有个 SpringCloud 和 SpringBoot 对照版本,我就是参考该版本来降级的。
上面是通过 Json 形式展现 SpringCloud 版本对照
上面是 Nacos 对应 SpringCloud 和 SpringBoot 各版本对照表:
所以我选用的 SpringCloud 版本是 2020.0.0,SpringBoot 版本是 2.4.2,Alibaba 版本是2021.1,上面咱们就来降级。
开始降级
引入相干依赖包
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
</parent>
<properties>
<java.version>1.8</java.version>
<spring-boot.version>2.4.2</spring-boot.version>
<spring-cloud.version>2020.0.0</spring-cloud.version>
<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- spring boot 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- spring cloud 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- spring cloud alibaba 依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-security</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- 增加对 bootstrap.yml 反对 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
</dependencies>
降级过程中遇到的问题
- 1、有些依赖包版本要写死如:spring-cloud-starter-oauth2,是因为,cloud2020.0.0 以上版本移除 spring-cloud-security-dependencies 依赖。
- 2、pom 引入 spring-cloud-starter-bootstrap 包,否则 bootstrap.yml 不起作用,
- 3、nacos discovery 要加 service 属性否则报错,如下所示:
spring:
application:
name: aaa
profiles:
active: test
cloud:
nacos:
discovery:
server-addr: http://nacos-host:8848
namespace: xxx-xxx-xxx
service: aaa
config:
server-addr: http://nacos-host:8848
file-extension: yaml
prefix: aaa
namespace: xxx-xxx-xxx
server:
port: 8901
总结
- 1、之前版本的 spring-cloud–starter-oauth2 包没有了,没有找到对应的。援用包 spring-security-oauth2 和 spring-security-oauth2-autoconfigure 也能实现 oauth2 server 性能,但相干的类提醒过期。
- 2、之前的版本当 spring cloud bus 和 mq 一起应用时,无奈应用 stream3.0 的写法来接管音讯,当初这个问题曾经解决。
- 除了 eureka,其它的 netflix 组件都曾经删除
援用
SpringCloud 降级到 2020 记录
报错 dependencies.dependency.version is missing
Spring Cloud Alibaba 降级到 2.1.0 所遇到的坑
nacos 版本阐明
springcloud 版本对照