在这里插入图片描述

1 问题背景

SpringBoot项目启动失败了,报错Class path contains multiple SLF4J bindings。大致意思项目中引入的依赖有多个slf4j的实现。我们知道slf4j只是一个门面日志接口,真正的实现有很多。项目中引入的某些依赖可能底层使用了slf4j的实现依赖。导致最终有多个slf4j实现的依赖冲突了。

思路参考自:springboot 关于 Class path contains multiple SLF4J bindings.警告的解决

2 解决思路

总的思路就是找出冲突的slf4j实现的依赖并排除他。如果项目有使用logback日志,那么不推荐排除logback-classic的依赖。

  1. 下载一个叫Maven Helper的IDEA插件,作用是可视化分析pom文件引入的依赖
  2. 打开pom文件,做如下操作:
    (我的报错是log4j-slf4j-impl-2.11.2依赖与logback-classic依赖冲突了,而我项目使用logback日志,因此不排除logback-classic依赖,而是排除log4j-slf4j-imipl依赖)

在这里插入图片描述
3. 每个pom文件都按照步骤2查找并exclue
4. 清除一下maven并重新刷新依赖
5. 重新启动SpringBoot项目即可

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐