詳解SpringBoot與SpringCloud的版本對應詳細版
緣起
初學spring cloud的朋友可能不知道,其實SpringBoot與SpringCloud需要版本對應,否則可能會造成很多意料之外的錯誤,比如eureka注冊了結果找不到服務類啊,比如某些jar導入不進來啊,等等這些錯誤。下面列出來springBoot和spring cloud的版本對應關系,需要配套使用,才不會出現各種奇怪的錯誤。
關于maven倉庫的版本列表
spring-cloud-dependencies 版本列表可查看:https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependenciesspring-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
在實際開發過程中,我們需要更詳細的版本對應:
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版本區別
spring cloud各個版本之間是有所區別的,比如在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中統一用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版本對應內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: