- SpringBoot整合SpringCloud时pom文件一直爆红,根本原因是SpringBoot和SpringCloud版本没有一一对应。
- 许多小伙伴学习的时候都是跟着网上的视频学的,pom中的坐标也是直接复制的,这就导致了一个问题:网上的视频都是用到老版本的SpringBoot和对应的老版本SpringCloud,而我们用IDEA客户端创建Spring项目时默认的SpringBoot版本都是最新的,最新的SpringBoot对应复制的老版本的pom坐标肯定会出错。
- 排错的核心思想是让SpringBoot和SpringCloud版本对应上,具体步骤如下:
- 首先看自己创建工程的SpringBoot版本:打开pom.xml,如下所示,可以看到版本是
2.3.9
;如果还没有创建SpringBoot项目或模块,可以在下图选择版本;如果想修改SpringBoot版本就直接修改<version></version>
中的参数,然后点击右侧的Maven,点击刷新即可;
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9</version>
<relativePath/>
</parent>
2. 找对应的SpringCloud版本:打开SpringCloud官网,找到第一个表格,如下图所示,左边一列代表SpringCloud版本号(伦敦地铁站名称),右边一列是对应的SpringBoot版本号。由第一步可知,我的项目SpringBoot版本是2.3.9
,所以对应的SpringCloud版本应该是Hoxton
;点击Hoxton
查看最新版本号,发现最新的是SR10,所以可知与SpringBoot 2.3.9
对应的SpringCloud版本是Hoxton.SR10
;
3. 在pom.xml中添加/修改以下坐标
<!--SpringCloud,BOM,依赖清单导入,所有依赖管理的坐标-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR10</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
这样就不会爆红了!!
这个问题我研究了半天才整明白,希望对你有所帮助!点个赞吧~