1.异常现象

启动 Maven 项目时,抛出警告信息:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/Tp_Mylocal/20_Install/maven/repo/org/slf4j/slf4j-log4j12/1.7.20/slf4j-log4j12-1.7.20.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/Tp_Mylocal/20_Install/maven/repo/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError.
SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.

2.排查分析

从报出来的警告信息来看,大致意思是,pom.xml 引入的包 slf4j-log4j12-1.7.20.jar 和包 logback-classic-1.1.7.jar 中,都找到了 /org/slf4j/impl/StaticLoggerBinder.class 这个类,不知道用哪个,于是发生了冲突。

3.解决方案

既然是 jar 包冲突,那就找到 pom.xml 文件,我们来排除一下:
1) 找到 pom.xml 文件,打开,然后右键,在菜单中选择 [Diagrams] -> [Show Dependencies]
2) 弹出一画复杂交错的依赖图,触目惊心,哭笑不得

3) 攻而克之,Ctrl + F,搜索 slf4j-log4j12,找到 slf4j-log4j12 后,右键,把它 Exclude 掉

好了,查看 pom.xml 文件,刚刚排除掉的 jar 已经自动生成了 exclusion 代码,如:

<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>${zookeeper.version}</version><exclusions><exclusion><artifactId>slf4j-log4j12</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions>
</dependency>

或者,也可以手动在 pom.xml 文件中排除相关依赖。

注意:

  1. log4j-over-slf4j.jarslf4j-log4j12.jar 是跟 Java 日志系统相关的两个 jar 包,当它们同时出现在 classpath 下时,可能会引起堆栈溢出异常。
  2. 如果你用的是 logback 日志,要排除的是 slf4j-log4j12.jar 包,不要排除 logback-classic.jar 包。

Java异常 #Class path contains multiple SLF4J bindings.警告解决相关推荐

  1. springboot 关于 Class path contains multiple SLF4J bindings.警告的解决

    springboot 关于 Class path contains multiple SLF4J bindings.警告的解决 有一次配置好springboot项目启动后,忽然发现有下边的警告: SL ...

  2. SLF4J: Class path contains multiple SLF4J bindings(log4j与logback冲突了)

    当你启动service或者web项目的时候,出现了如下详细地异常,那说明你配置的log4j与logback jar包发生了冲突: <span style="color:#ff0000& ...

  3. Hive客户端启动报SLF4J: Class path contains multiple SLF4J bindings.

    使用Hive客户端的时候,如果不注意细节,那么会遇到一个问题:重复打印输出SLF4J信息 文章目录 1.出现的问题 2.根本原因 3.解决方法 4.查看最终效果 5.PS:hive日志在哪呐? 1.出 ...

  4. Tomcat启动log:SLF4J: Class path contains multiple SLF4J bindings.

    近期启动tomcat时,看到如下输出信息: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [j ...

  5. SLF4J: Class path contains multiple SLF4J bindings. 问题原因及解决方法。

    问题 springboot项目,使用了slf4j,当引入zookeeper之后,就会报错: SLF4J: Class path contains multiple SLF4J bindings. SL ...

  6. SLF4J: Class path contains multiple SLF4J bindings.

    库冲突导致的异常,由于多次引入SLF4j包导致. It seems you have several implementation of SLF4J; you should exclude all t ...

  7. java异常:Comparison method violates its general contract解决

    就在五一放假的前一天凌晨,收到一个测试同学发来的消息,说有个接口访问出现了问题,页面如下: 第二天早上紧急查看了线上日志,发现确实是因为这个告警导致返回问题 通过这条堆栈信息查了一些资料 Compar ...

  8. java日志框架之JCL和SLF4J

    文章目录 1.JCL 1.1.JCL简介 1.2.入门使用 2.SLF4J 2.1.日志门面概述 2.2.SLF4J简介 2.3.入门使用 2.4.slf4j实现slf4j-simple和logbac ...

  9. java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...

    点击上方蓝色字体,选择"设为星标" 回复"666"获取面试宝典 异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的 ...

  10. 写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)...

    接前一篇CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南,继续对ELK. logstash官方最新文档https://www.elastic.co/g ...

最新文章

  1. 【Qt】QPixmap加载图片报错:Corrupt JPEG data: premature end of data segment Didn‘t expect more than one scan
  2. 免sudo使用docker
  3. DSP集成开发工具CCS的Git工具使用说明(二)
  4. Visual Studio Code启动项目
  5. php中的冒号应用,php中双冒号的应用
  6. 现行的web开发框架分析
  7. 确保HIPAA符合远程医疗视频流的2种方法
  8. 常用android的smali注入代码,android smali代码注入 实战一
  9. 16、Python与设计模式--模板模式
  10. 第一次更名为OpenInfra的“她”,给我们带来了哪些惊喜?| 技术头条
  11. 字符串对象数组集合非空判断
  12. 拓端tecdat|探析大数据期刊文章研究热点
  13. 现场直击 | 复旦MBA科创青干营开营
  14. 计算机操作系统知识点总结
  15. LeetCode-Hot100-寻找两个正序数组的中位数
  16. 多实例下的定时任务如何避免重复执行——分布式定时任务
  17. 精彩回顾 | 阿里云APM城市技术行·深圳站
  18. 多用途数据主导“物联网未来”的实施
  19. 如何绘制程序流程图?绘制程序流程图工具介绍及功能讲解
  20. 10_放置街灯(Placing Lampposts,UVa 10859)

热门文章

  1. TCP三次握手、四次握手过程,以及原因分析
  2. 洛谷P5437/5442 约定(概率期望,拉格朗日插值,自然数幂)
  3. 计算机专业29岁研究生毕业,26岁,你还会考研吗?毕业后都奔三了!_计算机考研科目...
  4. 2019 Python接口自动化测试框架实战开发(一)
  5. 论文阅读及代码学习-Directed Acyclic Graph Network for Conversational Emotion Recognition
  6. 研究生学历会是我职业生涯的遮羞布吗
  7. 太湖之光超级计算机应用最高奖,国家超级计算无锡中心发布:“神威·太湖之光”最新应用成果...
  8. 智能证件录入系统——电子护照阅读器
  9. 游戏数据库服务器 数据缓存 增量更新
  10. JavaScript:实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)