Spring-Cloud的版本定义与名字 侵立删

转自:https://blog.csdn.net/peterwanghao/article/details/79633275

Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护着自己的发布版本号。Spring Cloud通过一个资源清单BOM(Bill of Materials)来管理每个版本的子项目清单。为避免与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。

这些版本名称的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware,目前最新的是Finchley版本。

当一个版本的Spring Cloud项目的发布内容积累到临界点或者解决了一个严重bug后,就会发布一个“service releases”版本,简称SRX版本,其中X是一个递增数字。当前官网上最新的稳定版本是Edgware.SR2,里程碑版本是Finchley.M7。下表列出了这两个版本所包含的子项目及各子项目的版本号。

Component    Edgware.SR2    Finchley.M7    Finchley.BUILD-SNAPSHOT
spring-cloud-aws    1.2.2.RELEASE    2.0.0.M4    2.0.0.BUILD-SNAPSHOT
spring-cloud-bus    1.3.2.RELEASE    2.0.0.M6    2.0.0.BUILD-SNAPSHOT
spring-cloud-cli    1.4.1.RELEASE    2.0.0.M1    2.0.0.BUILD-SNAPSHOT
spring-cloud-commons    1.3.2.RELEASE    2.0.0.M7    2.0.0.BUILD-SNAPSHOT
spring-cloud-contract    1.2.3.RELEASE    2.0.0.M7    2.0.0.BUILD-SNAPSHOT
spring-cloud-config    1.4.2.RELEASE    2.0.0.M7    2.0.0.BUILD-SNAPSHOT
spring-cloud-netflix    1.4.3.RELEASE    2.0.0.M7    2.0.0.BUILD-SNAPSHOT
spring-cloud-security    1.2.2.RELEASE    2.0.0.M2    2.0.0.BUILD-SNAPSHOT
spring-cloud-cloudfoundry    1.1.1.RELEASE    2.0.0.M3    2.0.0.BUILD-SNAPSHOT
spring-cloud-consul    1.3.2.RELEASE    2.0.0.M6    2.0.0.BUILD-SNAPSHOT
spring-cloud-sleuth    1.3.2.RELEASE    2.0.0.M7    2.0.0.BUILD-SNAPSHOT
spring-cloud-stream    Ditmars.SR3    Elmhurst.RC1    Elmhurst.BUILD-SNAPSHOT
spring-cloud-zookeeper    1.2.0.RELEASE    2.0.0.M6    2.0.0.BUILD-SNAPSHOT
spring-boot    1.5.10.RELEASE    2.0.0.RC2    2.0.0.BUILD-SNAPSHOT
spring-cloud-task    1.2.2.RELEASE    2.0.0.M3    2.0.0.RELEASE
spring-cloud-vault    1.1.0.RELEASE    2.0.0.M6    2.0.0.BUILD-SNAPSHOT
spring-cloud-gateway    1.0.1.RELEASE    2.0.0.M7    2.0.0.BUILD-SNAPSHOT
spring-cloud-openfeign        2.0.0.M1    2.0.0.BUILD-SNAPSHOT
Finchley 与 Spring Boot 2.0.x, 兼容,不支持 Spring Boot 1.5.x. 
Dalston 和 Edgware 与 Spring Boot 1.5.x, 兼容,不支持 Spring Boot 2.0.x. 
Camden 是构建在 Spring Boot 1.4.x, 之上,但也支持 1.5.x. 
Brixton 是构建在 Spring Boot 1.3.x, 之上,但也支持 1.4.x. 
Angel 是构建在 Spring Boot 1.2.x, 之上,但也兼容 Spring Boot 1.3.x. 
注意: Angel 和 Brixton 两个版本已于2017年7月终止不再进行维护。
 

http://spring.io/projects/spring-cloud

Release Trains

Spring Cloud is an umbrella project consisting of independent projects with, in principle, different release cadences. To manage the portfolio a BOM (Bill of Materials) is published with a curated set of dependencies on the individual project (see below). The release trains have names, not versions, to avoid confusion with the sub-projects. The names are an alphabetic sequence (so you can sort them chronologically) with names of London Tube stations ("Angel" is the first release, "Brixton" is the second). When point releases of the individual projects accumulate to a critical mass, or if there is a critical bug in one of them that needs to be available to everyone, the release train will push out "service releases" with names ending ".SRX", where "X" is a number.

Table 1. Release train Spring Boot compatibility
Release Train Boot Version

Greenwich

2.1.x

Finchley

2.0.x

Edgware

1.5.x

Dalston

1.5.x

Table 2. Release train contents
Component Edgware.SR5 Finchley.SR2 Finchley.BUILD-SNAPSHOT

spring-cloud-aws

1.2.3.RELEASE

2.0.1.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-cloud-bus

1.3.3.RELEASE

2.0.0.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-cloud-cli

1.4.1.RELEASE

2.0.0.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-cloud-commons

1.3.5.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-contract

1.2.6.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-config

1.4.5.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-netflix

1.4.6.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-security

1.2.3.RELEASE

2.0.1.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-cloud-cloudfoundry

1.1.2.RELEASE

2.0.1.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-cloud-consul

1.3.5.RELEASE

2.0.1.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-sleuth

1.3.5.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-stream

Ditmars.SR4

Elmhurst.SR1

Elmhurst.BUILD-SNAPSHOT

spring-cloud-zookeeper

1.2.2.RELEASE

2.0.0.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-boot

1.5.16.RELEASE

2.0.6.RELEASE

2.0.7.BUILD-SNAPSHOT

spring-cloud-task

1.2.3.RELEASE

2.0.0.RELEASE

2.0.1.BUILD-SNAPSHOT

spring-cloud-vault

1.1.2.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-gateway

1.0.2.RELEASE

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-openfeign

 

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-function

1.0.1.RELEASE

1.0.0.RELEASE

1.0.1.BUILD-SNAPSHOT

Finchley builds and works with Spring Boot 2.0.x, and is not expected to work with Spring Boot 1.5.x.

Note: The Dalston release train will reach end-of-life in December 2018. Edgware will follow the end-of-life cycle of Spring Boot 1.5.x.

The Dalston and Edgware release trains build on Spring Boot 1.5.x, and are not expected to work with Spring Boot 2.0.x.

Note

The Camden release train was marked end-of-life.

The Camden release train builds on Spring Boot 1.4.x, but is also tested with 1.5.x.

Note

The Brixton and Angel release trains were marked end-of-life (EOL) in July 2017.

The Brixton release train builds on Spring Boot 1.3.x, but is also tested with 1.4.x.

The Angel release train builds on Spring Boot 1.2.x, and is incompatible in some areas with Spring Boot 1.3.x. Brixton builds on Spring Boot 1.3.x and is similarly incompatible with 1.2.x. Some libraries and most apps built on Angel will run fine on Brixton, but changes will be required anywhere that the OAuth2 features from spring-cloud-security 1.0.x are used (they were mostly moved to Spring Boot in 1.3.0).

Use your dependency management tools to control the version. If you are using Maven remember that the first version declared wins, so declare the BOMs in order, with the first one usually being the most recent (e.g. if you want to use Spring Boot 1.3.6 with Brixton.RELEASE, put the Boot BOM first). The same rule applies to Gradle if you use the Spring dependency management plugin.

Note

The release train contains a spring-cloud-dependencies as well as thespring-cloud-starter-parent. You can use the parent as you would the spring-boot-starter-parent (if you are using Maven). If you only need dependency management, the "dependencies" version is a BOM-only version of the same thing (it just contains dependency management and no plugin declarations or direct references to Spring or Spring Boot). If you are using the Spring Boot parent POM, then you can use the BOM from Spring Cloud. The opposite is not true: using the Cloud parent makes it impossible, or at least unreliable, to also use the Boot BOM to change the version of Spring Boot and its dependencies.

猜你喜欢

转载自blog.csdn.net/qq_22167989/article/details/85928816