![在这里插入图片描述](https://img-blog.csdnimg.cn/1a36a8cfb80a4b53b192f265d5e71eee.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQW5kcm9pZF9sYQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
1 问题背景
SpringBoot项目启动失败了,报错
Class path contains multiple SLF4J bindings
。大致意思项目中引入的依赖有多个slf4j的实现。我们知道slf4j只是一个门面日志接口,真正的实现有很多。项目中引入的某些依赖可能底层使用了slf4j的实现依赖。导致最终有多个slf4j实现的依赖冲突了。
思路参考自:springboot 关于 Class path contains multiple SLF4J bindings.警告的解决
2 解决思路
总的思路就是找出冲突的slf4j实现的依赖并排除他。如果项目有使用logback日志,那么不推荐排除logback-classic的依赖。
- 下载一个叫
Maven Helper
的IDEA插件,作用是可视化分析pom文件引入的依赖 - 打开pom文件,做如下操作:
(我的报错是log4j-slf4j-impl-2.11.2
依赖与logback-classic
依赖冲突了,而我项目使用logback日志,因此不排除logback-classic
依赖,而是排除log4j-slf4j-imipl
依赖)
3. 每个pom文件都按照步骤2查找并exclue
4. 清除一下maven并重新刷新依赖
5. 重新启动SpringBoot项目即可