詳解SpringBoot與SpringCloud的版本對應詳細版
緣起
初學spring cloud的朋友可能不知道,其實SpringBoot與SpringCloud需要版本對應,否則可能會造成很多意料之外的錯誤,比如eureka注冊了結果找不到服務類啊,比如某些jar導入不進來啊,等等這些錯誤。下面列出來springBoot和spring cloud的版本對應關系,需要配套使用,才不會出現(xiàn)各種奇怪的錯誤。
關于maven倉庫的版本列表
spring-cloud-dependencies 版本列表可查看:
https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies
spring-boot-starter-parent 版本列表可查看:
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent
版本對應關系
大版本對應:
| Spring Cloud | Spring Boot |
|---|---|
| Angel版本 | 兼容Spring Boot 1.2.x |
| Brixton版本 | 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x |
| Camden版本 | 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x |
| Dalston版本、Edgware版本 | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x |
| Finchley版本 | 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x |
| Greenwich版本 | 兼容Spring Boot 2.1.x |
| Hoxtonl版本 | 兼容Spring Boot 2.2.x |
在實際開發(fā)過程中,我們需要更詳細的版本對應:
| Spring Boot | Spring Cloud |
|---|---|
| 1.5.2.RELEASE | Dalston.RC1 |
| 1.5.9.RELEASE | Edgware.RELEASE |
| 2.0.2.RELEASE | Finchley.BUILD-SNAPSHOT |
| 2.0.3.RELEASE | Finchley.RELEASE |
| 2.1.0.RELEASE-2.1.14.RELEASE | Greenwich.SR5 |
| 2.2.0.M4 | Hoxton.SR4 |
關于spring cloud1.x版本和2.x版本區(qū)別
spring cloud各個版本之間是有所區(qū)別的,比如在SpringCloud中,1.X和2.X版本在pom.xml中引入的jar包名字都不一樣,比如有的叫spirng-cloud-starter-hystrix 有的叫spring-cloud-netflix-hystrix,維護起來會比較困難。
1.x版本pom.xml里幾個基本用到的jar長這樣:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.joyce</groupId> <artifactId>joyce-test</artifactId> <version>1.0</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath /> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!-- 排除spring boot默認使用的tomcat,使用jetty --> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> </project>
而在2.x版本中,比如我們需要eureka,去maven倉庫中可能會看到deprecated, please use spring-cloud-starter-netflix-eureka-client這類提示,包括使用ribbon也會有


所以個人猜測2.x中統(tǒng)一用
spring-cloud-starter-netflix-xx 替換了原有的 spring-cloud-starter-xx(此處如有不正確請指出)
所以2.x的版本pom.xml類似如下這樣
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.forezp</groupId>
<artifactId>service-feign</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>service-feign</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>com.forezp</groupId>
<artifactId>sc-f-chapter3</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
</project>
到此這篇關于詳解SpringBoot與SpringCloud的版本對應詳細版的文章就介紹到這了,更多相關SpringBoot與SpringCloud版本對應內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Spring Cloud 配置中心多環(huán)境配置bootstrap.yml的實現(xiàn)方法
- 解決springboot與springcloud版本兼容問題(附版本兼容表)
- 將Springboot項目升級成Springcloud項目的圖文教程
- SpringCloud解決Feign異步回調(diào)問題(SpringBoot+Async+Future實現(xiàn))
- SpringBoot項目改為SpringCloud項目使用nacos作為注冊中心的方法
- SpringBoot(cloud)自動裝配bean找不到類型的問題
- springboot集成springCloud中gateway時啟動報錯的解決
- 解決nacos升級spring cloud 2020.0無法使用bootstrap.yml的問題
- 從零開始搭建springboot+springcloud+mybatis本地項目全過程(圖解)
- Spring、Spring?Boot、Spring?Cloud?的區(qū)別與聯(lián)系分析
相關文章
Spring Security CsrfFilter過濾器用法實例
這篇文章主要介紹了Spring Security CsrfFilter過濾器用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11

