SpringCloud Alibaba
1.统一依赖管理
统一依赖管理即对项目中使用到的依赖进行统一的版本管理,避免出现版本冲突的问题。
为避免SpringCloud、SpringBoot、SpringCloud Alibaba、Nacos出现版本冲突的,有以下几点需要注意:
SpringCloud Alibaba | SpringCloud | SpringBoot | Nacos Client |
---|---|---|---|
0.1.x | Edgware | 1.x | SpringCloud Alibaba Nacos自带0.8 |
0.2.x | Finchley | 2.x | 1.1.4版本无问题 |
当前使用的SpringCloud Alibaba版本为0.2.2.RELEASE,对应使用SpringCloud版本是Finchley。
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.cloud.version>Finchley.SR4</spring.cloud.version>
<spring.platform.version>Cairo-SR7</spring.platform.version>
<spring.cloud.alibaba.version>0.2.2.RELEASE</spring.cloud.alibaba.version>
<common.lang3.version>3.8.1</common.lang3.version>
<nacos.version>1.1.4</nacos.version>
<spring.cloud.openfeign.version>2.0.3.RELEASE</spring.cloud.openfeign.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
// 用于统一管理SpringBoot配套的相关依赖,比如web、security等等
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>${
spring.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
// SpringCloud的依赖,统一管理SpringCloud配套的相关依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${
spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
// SpringCloud Alibaba的依赖,统一管理SpringCloud配套的相关依赖,比如discovery、sentinel等等
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${
spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${
common.lang3.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
// spring-boot-starter 每个项目都必须的基础依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
// nacos-client的依赖,可以不引,spring-cloud-starter-alibaba-nacos-discovery有,自带是0.8的版本,如果需要使用最新的nacos,则必须在子项目中spring-cloud-starter-alibaba-nacos-discovery中的nacos-client依赖排除