前言
始终在应用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-xxxserver: 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版本对照