一、Spring Cloud Alibaba项目,父工程搭建
1、版本选择
SpringCloudAlibaba官方整理的版本说明:
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
适配 Spring Boot 为 2.4, Spring Cloud Hoxton 版本及以下的 Spring Cloud Alibaba 版本如下表(最新版本用*标记):
Spring Cloud Alibaba Version | Spring Cloud Version | Spring Boot Version |
---|---|---|
2.2.8.RELEASE* |
Spring Cloud Hoxton.SR12 |
2.3.12.RELEASE |
2.2.7.RELEASE |
Spring Cloud Hoxton.SR12 |
2.3.12.RELEASE |
2.2.6.RELEASE |
Spring Cloud Hoxton.SR9 |
2.3.2.RELEASE |
2.1.4.RELEASE |
Spring Cloud Greenwich.SR6 |
2.1.13.RELEASE |
2.2.1.RELEASE |
Spring Cloud Hoxton.SR3 |
2.2.5.RELEASE |
2.2.0.RELEASE |
Spring Cloud Hoxton.RELEASE |
2.2.X.RELEASE |
2.1.2.RELEASE |
Spring Cloud Greenwich |
2.1.X.RELEASE |
2.0.4.RELEASE(停止维护,建议升级) |
Spring Cloud Finchley |
2.0.X.RELEASE |
1.5.1.RELEASE(停止维护,建议升级) |
Spring Cloud Edgware |
1.5.X.RELEASE |
组件版本关系:
Spring Cloud Alibaba Version | Sentinel Version | Nacos Version | RocketMQ Version | Dubbo Version | Seata Version |
---|---|---|---|---|---|
2.2.8.RELEASE |
1.8.4 |
2.1.0 |
4.9.3 |
~ |
1.5.1 |
2021.0.1.0 |
1.8.3 |
1.4.2 |
4.9.2 |
~ |
1.4.2 |
2.2.7.RELEASE |
1.8.1 |
2.0.3 |
4.6.1 |
2.7.13 |
1.3.0 |
2.2.6.RELEASE |
1.8.1 |
1.4.2 |
4.4.0 |
2.7.8 |
1.3.0 |
2021.1 or 2.2.5.RELEASE or 2.1.4.RELEASE or 2.0.4.RELEASE |
1.8.0 |
1.4.1 |
4.4.0 |
2.7.8 |
1.3.0 |
2.2.3.RELEASE or 2.1.3.RELEASE or 2.0.3.RELEASE |
1.8.0 |
1.3.3 |
4.4.0 |
2.7.8 |
1.3.0 |
2.2.1.RELEASE or 2.1.2.RELEASE or 2.0.2.RELEASE |
1.7.1 |
1.2.1 |
4.4.0 |
2.7.6 |
1.2.0 |
2.2.0.RELEASE |
1.7.1 |
1.1.4 |
4.4.0 |
2.7.4.1 |
1.0.0 |
2.1.1.RELEASE or 2.0.1.RELEASE or 1.5.1.RELEASE |
1.7.0 |
1.1.4 |
4.4.0 |
2.7.3 |
0.9.0 |
2.1.0.RELEASE or 2.0.0.RELEASE or 1.5.0.RELEASE |
1.6.3 |
1.1.1 |
4.4.0 |
2.7.3 |
0.7.1 |
2、确定版本
Spring Cloud:Spring Cloud Hoxton.SR12
Spring Cloud Alibaba:2.2.8.RELEASE
Spring Boot:2.3.12.RELEASE
3、搭建
(1)新建一个maven项目,删除不必要文件,最终目录结构
(2)修改POM文件
<?xml version="1.0" encoding="UTF-8"?> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.shiwn</groupId> <artifactId>spring-cloud-alibaba</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-cloud-alibaba</name> <packaging>pom</packaging> <description>Demo project for Spring Boot</description> <properties> <!-- java版本 --> <java.version>1.8</java.version> <!-- SpringBoot 版本 --> <spring.boot.version>2.3.12.RELEASE</spring.boot.version> <!-- Spring Cloud Alibaba 版本 --> <spring.cloud.alibaba>2.2.8.RELEASE</spring.cloud.alibaba> <!-- Spring Cloud 版本 --> <spring.cloud>Hoxton.SR12</spring.cloud> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- 版本依赖统一管理 --> <dependencyManagement> <dependencies> <!-- SpringBoot 版本 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>${spring.boot.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> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring Cloud 版本 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring.cloud}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>