解决slf4j 冲突

简介: 可能出现的异常:发现配置的logback.xml文件没有起作用,于是分析了一下启动log,发现log中出现了SLF4J冲突异常:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”原因分

可能出现的异常:

发现配置的logback.xml文件没有起作用,于是分析了一下启动log,发现log中出现了SLF4J冲突异常:

  1. SLF4J: Class path contains multiple SLF4J bindings.
  2. SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”

原因分析:

既然是冲突,那可能就是项目中依赖了多个不同版本的slf4j类库,那如何分析到底是哪几个类库依赖了slf4j呢?我们可以使用dependency:tree命令:

$ mvn dependency:tree

解决:

经过依赖tree的分析,发现Zookeeper和Dubbo类库各自都引用了slf4j类库,于是使用<exclusions>标签排除掉传递依赖。

  <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.8.4</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

其它各种依赖冲突都可以使用这种方式解决。

目录
相关文章
|
Kubernetes 前端开发 Cloud Native
混动工程平台 ChaosBlade-Box 新版重磅发布 | 学习笔记
快速学习混动工程平台 ChaosBlade-Box 新版重磅发布
混动工程平台 ChaosBlade-Box 新版重磅发布 | 学习笔记
|
NoSQL API 调度
.NET开源的轻量化定时任务调度,支持临时的延时任务和重复循环任务(可持久化) - FreeScheduler
.NET开源的轻量化定时任务调度,支持临时的延时任务和重复循环任务(可持久化) - FreeScheduler
331 0
|
消息中间件 Java Kafka
SpringCloud学习笔记(五)-SpringCloudStream集成kafka(上)
Spring Cloud Stream是构建消息驱动的微服务应用程序框架。提供统一的接收发送管道以连接到消息代理。通过@EnableBinding注解开启SpringCloudStream的支持。通过@StreamListener注解,使其接收流处理的时间。
SpringCloud学习笔记(五)-SpringCloudStream集成kafka(上)
|
8月前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
382 8
|
11月前
|
自然语言处理 Java 开发工具
通义灵码使用体会
本文介绍了一位Java后端工程师如何利用通义灵码个人版提高工作效率。通过安装IDEA插件,使用智能问答优化代码,以及自动生成Git提交信息等功能,效率提升了60%。这不仅节省了时间,还提高了代码质量,减少了项目中的错误。
|
11月前
|
前端开发 JavaScript API
前端框架对比和选择
前端框架对比和选择
|
前端开发
css 超实用的:empty —— 隐藏空元素、缺失字段智能提示
css 超实用的:empty —— 隐藏空元素、缺失字段智能提示
245 0
|
Docker 容器
docker 设置国内镜像源
docker 设置国内镜像源
85872 1
|
Linux Shell KVM
Kali系统基于qemu虚拟化运行img镜像文件
QEMU是一个由Fabrice Bellard创建的开源虚拟化器,能在多种平台上运行,如x86、ARM、PowerPC。它支持硬件仿真和虚拟化,允许在宿主系统上运行不同架构和OS,如Windows、Linux。QEMU特点包括硬件仿真、虚拟化支持(与KVM配合)、磁盘和网络仿真、快照及回滚功能。此外,文档还展示了在Kali Linux中安装和配置QEMU的步骤,包括下载、内存设置、源更新、软件安装、创建桥接脚本以及启动和管理虚拟机。
711 1
Kali系统基于qemu虚拟化运行img镜像文件
|
SQL 负载均衡 Oracle
MyCat - 配置文件详解 - schema.xml 之 dataNode 与 dataHost 配置详解 | 学习笔记
快速学习 MyCat - 配置文件详解 - schema.xml 之 dataNode 与 dataHost 配置详解
MyCat - 配置文件详解 - schema.xml 之 dataNode 与 dataHost 配置详解 | 学习笔记

热门文章

最新文章