在整合使用SpringBoot和SpringCloud开发过程中,遇到了一些版本兼容性问题。
1. 版本自动化控制
spring boot
spring-boot-starter-parent是一个依赖管理器的pom文件。它的作用就是管理boot需要的所有依赖,从而统一各种jar的版本号,避免了版本不一致而出现的问题。所以,引入其他的依赖就可以省略版本号。当然也可以加上指定的版本号,从而取代默认的。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/>
</parent>
spring cloud
spring-cloud-dependencies也是一个依赖管理器的pom文件,与spring-boot-starter-parent的作用一样,不同的是spring-cloud-dependencies是对cloud的依赖管理。如:spring-cloud-starter-config、spring-cloud-starter-netflix-eureka-server
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2. SpringBoot与SpringCloud版本兼容
访问https://start.spring.io/actuator/info
,可以看到SpringCloud兼容SpringBoot的版本。
因为本人项目中使用的SpringBoot的版本为2.3.2.RELEASE
版本,因此,从上面可以看出,SpringCloud应该选择的版本是Hoxton.SR7
。