Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Maven中日志jar包冲突报错:Class path contains multiple SLF4J bindings

Maven中日志jar包冲突报错:Class path contains multiple SLF4J bindings

作者头像
黑泽君
发布于 2018-12-18 09:34:01
发布于 2018-12-18 09:34:01
29.1K00
代码可运行
举报
文章被收录于专栏:黑泽君的专栏黑泽君的专栏
运行总次数:0
代码可运行

错误表现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/learn/Java/maven/repository_taotao/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/learn/Java/maven/repository_taotao/org/apache/activemq/activemq-all/5.11.2/activemq-all-5.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

控制台报错如下图所示:

错误原因: 发生jar包冲突了: 分别为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SLF4J: Found binding in [jar:file:/D:/learn/Java/maven/repository_taotao/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/learn/Java/maven/repository_taotao/org/apache/activemq/activemq-all/5.11.2/activemq-all-5.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]

解决方案:

可以转到pom.xml,打开Dependency Hierarchy并找到slf4j条目。除了通过右键单击“exclude maven artifact”排除其余条目。

运行mvn dependency:tree并搜索哪些依赖项具有slf4j您不想要的实现,然后使用依赖项排除将其排除,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
        </dependency>
        <!-- 配置对ActiveMQ客户端的依赖jar包 -->
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
        </dependency>
        <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
这个 Log4j 的报错,会导致系统的 log4j.xml 配置(失效)被覆盖重置。SLF4J: Class path contains multiple SLF4J bindings
这个 Log4j 的报错,会导致系统的 log4j.xml 配置(失效)被覆盖重置。
一个会写诗的程序员
2018/08/17
1.8K0
JAVA日志框架适配/冲突解决方案
上面的这些问题,基本都是由于多套日志框架共存或配置错误导致的。那么为什么会出现共存或者冲突呢? 一般是以下几种原因:
神秘的寇先森
2021/04/13
1.5K0
教你全方位解决Java 日志框架冲突!
你是否遇到过配置了日志,但打印不出来的情况?你是否遇到过配置了 logback,启动时却提示 log4j 错误的情况?像下面这样:
二哥聊运营工具
2022/07/11
1K0
教你全方位解决Java 日志框架冲突!
Java日志框架:slf4j作用及其实现原理
slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式,
JAVA葵花宝典
2019/05/24
1.3K0
排查log4j不输出日志到文件的问题
但是在项目代码中输出的日志信息始终不输出到文件中,只在控制台输出。 一开始我以为是log4j的配置问题:只输出到控制台,不输出到文件,但是反复确认配置没问题。
编程随笔
2022/04/29
3.6K0
Java日志体系(slf4j)
3 slf4j 3.1 简介 与commons-logging相同,slf4j也是一个通用的日志接口,在程序中与其他日志框架结合使用,并对外提供服务。 Simple Logging Facade fo
贾博岩
2018/05/11
5.4K0
Slf4j适配日志原理
看了之前的文章Java日志体系总结后,相信大家对slf4j以及其他日志组件的关系有了一定理解。slf4j只是为日志的输出提供了统一接口,并没有具体的实现,就好像JDBC一样。那么,大家会不会好奇slf4j是怎么绑定/适配/桥接到log4j或者logback其他日志实现组件的呢?这篇文章为大家详细讲述。
Erwin
2020/07/30
1K0
Slf4j适配日志原理
Jar 包依赖冲突排查思路和解决方法
应用从 jdk7 升级到 jdk8,终于可以用上新特性的语法进行代码编写,通过几轮开发、测试和验证后,在上预发环境时,应用突然无法启动,查看 tomcat 报错原因,发现是 类转换失败 ClassCastException
芋道源码
2021/01/08
1.7K0
Jar 包依赖冲突排查思路和解决方法
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow
引入org.apache.activemq:activemq-all依赖与org.slf4j:log4j-over-slf4j导致运行时冲突产生“Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow”异常,这是由于org.apache.activemq引入的slf4j-log4j12.jar与pom文件中的 log4j-over-slf4j.jar循环调用导致的异常,从名字上可以看出slf4j-log4j12是将slf4j的日志桥接到log4j12上, log4j-over-slf4j则是将log4j的日志桥接到slf4j上,因而产生了循环调用。
johnhuster的分享
2022/03/28
1.3K0
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow
记一次log4j不打印日志的踩坑记
前几天一个跑有java应用的生产集群(200多台物理机)升级了一个版本,重启后发现约有50台机器日志不能正常输出,但其程序却能正常的运行,在生产环境中,日志是非常重要的一个监控手段,如果没有日志输出,无疑是非常危险的。
我是攻城师
2019/09/25
11.8K0
记一次log4j不打印日志的踩坑记
【已解决】使用SLF4J时的一个错误Failed to load class org.slf4j.impl.StaticLoggerBinder
使用SLF4J时的一个错误Failed to load class org.slf4j.impl.StaticLoggerBinder和log4j:WARN No appenders could be found for logger解决方案
凯哥Java
2022/12/16
7080
【已解决】使用SLF4J时的一个错误Failed to load class org.slf4j.impl.StaticLoggerBinder
Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误
1:Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误,是因为jar包冲突了,所以对于和hadoop的jar包冲突的,可以将其他jar包删除,如果你不确定是否删除正确,可以将其他的jar包复制备份或者修改名称,确保操作以后失败了,还可以找回。 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/hom
别先生
2018/04/18
1.5K0
Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误
Zipkin报错—包冲突
springboot和SpringCloud的包冲突了,zipkin的版本较高,建议用2.0的
HaC
2020/12/30
6810
Spring Boot启动slf4j提示找不到weblogic.xml日志异常
启动Spring Boot项目时,会遇到如下关于slf4j相关的日志异常情况,导致项目无法启动。
程序新视界
2020/08/11
4.2K0
heritrix 3.X 环境搭建
    run/debug as application.在Arguments中填写:-a admin:admin
py3study
2020/01/08
6090
13.4 库依赖冲突问题:Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path13.4 库依
引入第三方库'org.raml:raml-parser:0.8.12',导致slf4j依赖冲突。
一个会写诗的程序员
2018/08/20
5.9K0
13.4 库依赖冲突问题:Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path13.4 库依
解决jar包冲突的简单办法
解决jar包冲突的简单办法– 在使用log4j.properties时,pom中导入的一些jar会产生log4j类的冲突报错,以下是一个简单的pom配置:
一滴水的眼泪
2020/09/24
2.3K0
解决jar包冲突的简单办法
从源码来理解slf4j的绑定,以及logback对配置文件的加载
  项目中的日志系统使用的是slf4j + logback。slf4j作为一个简单日志门面,为各种loging APIs(像java.util.logging, logback, log4j)提供一个简单统一的接口,有利于维护和各个类的日志处理方式统一。Logback作为一个具体的日志组件,完成具体的日志操作。
青石路
2018/09/10
1.5K0
从源码来理解slf4j的绑定,以及logback对配置文件的加载
使用Slf4j集成Log4j2构建项目日志系统的完美解决方案
  最近因为公司项目性能需要,我们考虑把以前基于的log4j的日志系统重构成基于Slf4j和log4j2的日志系统,因为,使用slf4j可以很好的保证我们的日志系统具有良好的兼容性,兼容当前常见几种日志系统,而使用log4j2而不是log4j是因为Log4j 1.x 在高并发情况下出现死锁导致cpu使用率异常飙升,而Log4j2.0基于LMAX Disruptor的异步日志在多线程环境下性能会远远优于Log4j 1.x和logback(官方数据是10倍以上)。
阿豪聊干货
2018/08/09
7250
Maven项目报错:“ SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder ”解决办法「建议收藏」
问题分析: 根据报错提示,我们可以知道出错的原因是“加载类文件org.slf4j.impl.StaticLoggerBinder时失败”,而出错的地方主要是在于slf4j的jar包。
全栈程序员站长
2022/11/17
3.5K0
Maven项目报错:“ SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder ”解决办法「建议收藏」
推荐阅读
相关推荐
这个 Log4j 的报错,会导致系统的 log4j.xml 配置(失效)被覆盖重置。SLF4J: Class path contains multiple SLF4J bindings
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验