怎么配置SpringCloud和SpringBoot之间的版本依赖关系?已解决

遇到的问题

搭建SpringCloud项目的时候,不清楚怎么导入SpringBoot和SpringCloud依赖以及他们之间的版本关系。昨日搭SpringCloud的时候,报了一个下午的依赖冲突。今天解决了,特此记录一下。

由于SpringCloud是依赖于SpringBoot的,因此,SpringCloud和SpringBoot有着严格的对应关系。如:
在这里插入图片描述
以上是SpringCloud和SpringBoot版本的大致版本关系。详细的可以去找官网或者参考一下这篇文章,也记录有i详细的依赖关系:SpringBoot和SpringCloud的依赖关系
那么,进入正题:
之前我不清楚SpringBoot是怎么导入的,就直接在子项目的pom中,导入SpringBoot相关的依赖,并没有在父项目的pom中,对SpringBoot的版本进行统一的管理,于是,出现了各种的依赖冲突,苦不堪言,解决一个又来一个没完没了。我看了博客也看了视频,很多都是在父项目中维护SpringCloud和SpringBoot的依赖对应关系,写在< dependencyManagement>里面进行统一管理。如下:
在这里插入图片描述
那么,就有一个问题:< dependencyManagement>管理的依赖并不会直接给到子项目,必须在子项目的pom中声明相关依赖,然后才可以,比如我上图这个版本的springboot依赖,在子项目引用似乎出现了管理不了的问题:如下:
在这里插入图片描述
正常情况应该是这样的:
在这里插入图片描述
总之,SpringCloud依赖SpringBoot,当调用SpringCloud的一些组件的时候,必然会用到SpringBoot一些相关的Jar,但是我不清楚具体要哪些(PS:我很清楚SpringCloud要引入什么依赖,毕竟很少,但是我不太清楚SpringBoot对应着需要引入什么,就很烦。。),< dependencyManagement>只负责声明,不负责引入,需要我们在子pom中引入,漏了或者版本搞错了,必然报错,况且,从这里发现< dependencyManagement>似乎没管理SpringBoot,那么SpringBoot的依赖该怎么去管理呢?修改一下,如:
在这里插入图片描述

子Pom不用更改,父pom改成上图这样,用去管理SpringBoot的依赖,与中的SpringCloud依赖形成对应关系。这样的话,两者版本都得到了管理。依赖冲突似乎就没有了。

总结:
以后我就在父pom中,用< parent>管理springboot的依赖,用< dependencyManagement>管理SpringCloud的依赖,至于两者依赖对应关系,文章开头已经提到。子pom引入需要的依赖即可,反正依赖已经管理好了,随便造。。

新的问题:为什么在SpringBoot的依赖写在里面,子pom里面就没有出现那个倒数第一张图里面的那个蓝色标志呢?我点进springboot-dependencies里面看了看,明明就有spring-boot-starter-web这个依赖,但就是没有出现这个标志,why? 有那位大佬可以清楚吗?请不吝赐教。感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值