解决SlF4J配置冲突警告:【SLF4J: Class path contains multiple SLF4J providers】

1、问题背景

最近在启动Springboot的时候出现了SLF4J相关的报红警告,虽然是不影响程序运行,但是作为一个有着代码洁癖的人看的是真难受。

警告信息如下:

SLF4J: Class path contains multiple SLF4J providers.
SLF4J: Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@2459319c]
SLF4J: Found provider [org.slf4j.simple.SimpleServiceProvider@ffaaaf0]
SLF4J: See https://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@2459319c]

583f0460ad2340d985e7a649250324cf.png

2、分析过程

2.1、分析错误警告

警告信息在那放着,首先我们应该逐行解读,看看能否找到解决问题的途径。

1、从第一行SLF4J: Class path contains multiple SLF4J providers.我们能知道是在路径下发现了多个SLF4J的绑定。能很容易看出来SLF4J相关的依赖出现了冲突,

后来查阅了一些资料,才知道原来SLF4J本身并没有实现日志相关的功能,而是通过与日志的实现类进行关联绑定才能完成日志的打印等。

2、从警告的第2行和第3行,我们也能看到确实绑定了两个,分别是以下两个ch.qos.logback.classic.spi.LogbackServiceProvider@2459319c

org.slf4j.simple.SimpleServiceProvider@ffaaaf0

3、从日志的最后一行Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@2459319c],已经告诉我们了,程序中实际用的是ch.qos.logback.classic.spi.LogbackServiceProvider@2459319

分析了错误警告之后,那就简单了,我们是不是只要知道程序里哪里引用了 “org.slf4j.simple.SimpleServiceProvider@ffaaaf0”这个相关的依赖,并且将他从pom中移除掉,是不是就解决这个问题了呢?那就试试吧。

2.2、分析依赖

我们在当前的pom文件所有的目录下,执行以下命令,就会把所有的依赖以树形的结构展现出来

$ mvn dependency:tree

执行结果如下:

0a74bd2b685646e0970e13e7edf7a21a.png

确实看到了,在com.github.lookfirst:sardine:jar:5.12:compile依赖里面包含着org.slf4j:slf4j-simple:jar:2.0.9:compile

3、解决办法

我们找到sharding的pom依赖,将slf4j-simple排除下就解决了。

 <dependency><groupId>com.github.lookfirst</groupId><artifactId>sardine</artifactId><version>5.12</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId></exclusion></exclusions></dependency>

重新启动确实没有了警告

1707bac1bae74ba9b195f807c1781e78.png

4、总结

SLF4J :Class path contains multiple SLF4J bindings.这样的异常情况还有很多,这是一大类问题,解决的思路都是一样的:分析pom依赖,找到依赖冲突的jar,在对应的pom中将期排除就ok。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/329057.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用DBscan算法进行密度聚类分析

使用DBscan算法进行密度聚类分析 使用DBscan算法进行密度聚类分析算法原理Python实现算法特点应用案例结论 使用DBscan算法进行密度聚类分析 DBscan&#xff08;Density-Based Spatial Clustering of Applications with Noise&#xff09;是一种基于密度的聚类算法&#xff0c…

React 中条件渲染的 N 种方法

本文作者系360奇舞团前端开发工程师 条件渲染在React开发中非常重要的功能&#xff0c;它允许开发人员根据条件控制渲染的内容&#xff0c;在创建动态和交互式用户界面方面发挥着至关重要的作用&#xff0c;本文总结了常用的的条件渲染方法。 1.If-else if-else是一种控制流程的…

vue使用elementui 的 table且自定义某列表头时,添加的点击事件和自带的筛选功能有类似冒泡行为

element 自带的table 需求&#xff1a;在时间这一列的筛选按钮旁边添加一个批量修改按钮问题&#xff1a;如果不加排序这个属性&#xff0c;那么表格自带的筛选和新加的批量筛选点击事件会冲突&#xff08;冒泡事件&#xff09;解决方法&#xff1a;在该列添加sortable属性&…

关于图像分割任务中按照比例将数据集随机划分成训练集和测试集

1. 前言 之前写了分类和检测任务划分数据集的脚本&#xff0c;三大任务实现了俩&#xff0c;基于强迫症&#xff0c;也实现一下图像分割的划分脚本 分类划分数据&#xff1a;关于图像分类任务中划分数据集&#xff0c;并且生成分类类别的josn字典文件 检测划分数据&#xff…

爬虫-3-模拟登录,代理ip,json模块

#本文仅供学习使用(O&#xff40;) 如果服务器响应的数据为json数据: 那么我们可以用 res.json() 或 json模块(将json字符串转换为Python里面的字典类型) 接收数据。

IMU用于无人机故障诊断

最近&#xff0c;来自韩国的研究团队通过开发以IMU为中心的数据驱动诊断方法&#xff0c;旨在多旋翼飞行器可以自我评估其性能&#xff0c;即时识别和解决推进故障。该方法从单纯的常规目视检查跃升为复杂的诊断细微差别&#xff0c;标志着无人机维护的范式转变。 与依赖额外传…

Jenkins修改全局maven配置后不生效解决办法、以及任务读取不同的settings.xml文件配置

一、修改Global Tool Configuration的maven配置不生效 说明&#xff1a;搭建好jenkins后&#xff0c;修改了全局的settings.xml&#xff0c;导致读取settings一直是之前配置的。 解决办法一 Jenkins在创建工作任务时&#xff0c;会读取当前配置文件内容&#xff0c;固定在这…

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

1、从https://github.com/homuler/MediaPipeUnityPlugin 下载Release Package 目前是MediaPipeUnity.0.12.0.unitypackage 2、导入Unity工程 3、打开Face Detection场景&#xff0c;做一些设置修改 1、打开Bootstrap&#xff0c;图像源改成Video&#xff0c;把Solution拖拽到…

SD点击扩展的可用 想下载其他插件的时候报错

这个错误通常是由于命令行标志禁用了扩展访问所导致的。 您可以尝试在启动WebUI的时候添加一个参数–enable-insecure-extension-access&#xff0c;或者在webui-user.sh的export COMMANDLINE_ARGS参数中增加以下参数 --enable-insecure-extension-access。

【远程计算机,这可能是由于 Credssp 加客数据库修正】解决方案

1、winR打开运行窗口 输入gpedit.msc命令&#xff0c;若找不到&#xff0c;可以进行如下文件编辑格式为cmd echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Win…

ASP.NET Core中实现个人资料上传图片功能

当用户需要在ASP.NET Core中实现修改个人资料的功能时&#xff0c;其中一个常见的需求就是允许上传个人头像图片。下面将详细介绍如何在ASP.NET Core中实现修改个人资料上传图片的功能。 步骤一&#xff1a;控制器中添加一个HttpPost方法 首先&#xff0c;我们在控制器中添加…

【笑小枫】2023:岁月如歌,坚持与放弃的交织;2024:新的征程,希望与期望的绽放

笑小枫的专属目录 2023&#xff1a;岁月如歌&#xff0c;坚持与放弃的交织笑小枫的坚持笑小枫的放弃回顾2023 2024&#xff1a;新的征程&#xff0c;希望与期望的绽放笑小枫的希望笑小枫的期望展望2024 结语 随着2023年的结束&#xff0c;我站在了新的起点上&#xff0c;回首过…