本文基于Spring Cloud Greenwich SR3編寫挫剑,理論支持Spring Cloud Greenwich所有版本重慢。
對于非Greenwich版本测僵,請前往
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本說明
查看Spring Cloud與Spring Cloud Alibaba的版本兼容性關(guān)系票唆,自行升級到對應(yīng)的兼容版本朴读。例如:你用的是Spring Cloud Finchley,那么應(yīng)使用Spring Cloud Alibaba 2.0.0走趋,以此類推衅金。
最近,Spring Cloud Alibaba已經(jīng)從Spring Cloud孵化器中孵化成功簿煌。孵化成功后的最新版本是2.1.0氮唯。這一節(jié)來詳細探討如何將Spring Cloud Alibaba從0.9.0升級到2.1.0。
從0.9.0開始姨伟,Maven的Group id發(fā)生了變化惩琉!
- 0.9.0的Group id是
org.springframework.cloud
- 0.9.0以上的版本是
com.alibaba.cloud
這看起來還挺嚇人的,而且此前也引發(fā)了一些吐槽夺荒。其實這主要是由于Spring Cloud考慮簡化自己的Release Train(即:Spring Cloud自身的版本管理)瞒渠,于是修改了發(fā)布政策:非Spring Cloud團隊維護的Spring Cloud的子項目良蒸,一律使用自己的GroupId即可,不再強制使用 org.springframework.cloud
伍玖。
TIPS
詳見:https://spring.io/blog/2019/07/24/simplifying-the-spring-cloud-release-train
從功能上講嫩痰,Spring Cloud Alibaba 2.1.0和0.9.0區(qū)別并不大,所以升級還是比較輕松的窍箍。下面列出升級的具體步驟:
一串纺、升級依賴管理器
將
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>0.9.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
修改為:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
其實就是改個groupId以及version。
二仔燕、升級Starter
將Spring Cloud Alibaba所有相關(guān)的Starter依賴(主要是以 spring-cloud-starter-alibaba-
開頭的依賴)造垛,的groupId,全部更換成com.alibaba.cloud
晰搀。
例如:將:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
修改為:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
三五辽、升級Server軟件版本
由于Spring Cloud Alibaba使用了Nacos、Sentinel Dashboard外恕、RocketMQ杆逗,所以還得升級這三款軟件的Server端。
TIPS
普及一個技巧:可根據(jù)客戶端版本鳞疲,去下載相同版本/兼容版本的Server端罪郊。
舉個例子:
- 通過分析,可以發(fā)現(xiàn)
spring-cloud-starter-alibaba-nacos-discovery
使用了Nacos Client 1.1.1尚洽,所以下載Nacos Server 1.1x 肯定是兼容的悔橄。當然,其實在官方文檔
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本說明
分別下載:
- Nacos Server 1.1.x
- Sentinel Dashboard 1.6.x
- RocketMQ 4.4.x(筆者經(jīng)過測試腺毫,使用RocketMQ 4.5.1也是OK的)
筆者使用的是如下版本癣疟,下載地址點擊即可跳轉(zhuǎn)。
百度盤下載加速器地址在:https://git.imooc.com/coding-358/resource 里面有貼潮酒。
四睛挚、修正編譯報錯
如果你使用了原Spring Cloud Alibaba的一些類,那么升級后急黎,很可能會報錯扎狱。這主要是因為,Spring Cloud Alibaba的包名結(jié)構(gòu)也發(fā)生了變化勃教。原先的包結(jié)構(gòu)是 org.springframework.cloud.xxx
淤击,升級后包名也改成了com.alibaba.cloud.xxx
。
重新導一下包一下就OK了故源。