jmcomic为什么一直于软件包有冲突

jmcomic为什么一直于软件包有冲突,第1张

一、前言

在进行 Java 开发时,通常我们会选择 Slf4j 作为日志门面,但日志实现却不尽相同。如果系统运行中同时存在多个日志实现,就会出现类似下图的 Warning。

二、问题原因

我们知道 SpringBoot 默认使用的日志实现是 Logback,因此我们尝试在项目中引入 Log4j 的依赖时,就复现了上图的报错。

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-log4j2</artifactId>

</dependency>

上图报错告知我们存在多个 SLF4J bingdings,分别位于 logback 和 log4j 包中,有两个 StaticLoggerBinder。

我们知道使用 Slf4j ,需要 LoggerFactory.getLogger() 方法获取实例。

import org.slf4j.Logger

import org.slf4j.LoggerFactory

private final Logger logs = LoggerFactory.getLogger(xxx.class)

我们就可以通过这个作为入口,去看看源码的实现。如下图所示,我标注了需要关注的核心代码。

(1)调用 getILoggerFactory() 方法得到 LoggerFactory。

(2)对于首次调用,INITIALIZATION_STATE 应该是 UNINITIALIZED,所以进入初始化的逻辑,调用方法 performInitialization()。

(3)调用 bind() 方法。

(4)如果不是 isAndroid(),调用 findPossibleStaticLoggerBinderPathSet() 方法,故名思意,查找可能的 staticLoggerBinder,注意这里返回的类型是 SET,即可能是多个。

(5)在findPossibleStaticLoggerBinderPathSet() 这个方法内,首先通过 classLoader 加载了 org/slf4j/impl/StaticLoggerBinder.class 这个类的 path,它可能存在多个,因此使用了 while 获取了所有的 path,并最终返回。

(6)reportActualBinding() 方法会校验 SET 的 size,如果大于 1,就会打印出一开始我们看见的 Warning 了。

三、问题解决

解决思路就是将你不想要的日志实现从依赖包中排除掉即可,通过 IDEA 提供的 Diagrams 能够非常方便的查看项目中的依赖关系。

打开项目的 POM 文件,右键选择 Diagrams ->Show Dependencies

假设我们想要排除 logback 依赖,使用 log4j。Ctrl + F 搜索 logback,可以找到引用该依赖的树形结构。

点击窗口左上角的下图中的这个图标,可以只看当前选中的这个依赖的关系。

选中后效果如下:

如上图所示,logback 由 spring-boot-starter-logging 引入,最顶层是由 spring-boot-starter-web 和 spring-boot-starter-test 引入。

我们尝试在 spring-boot-starter-web 中排除该依赖,应该就可以了。如果排出后重新搜索仍然存在 logback 依赖,则重复执行排除的操作。

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<exclusions>

<exclusion>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-logging</artifactId>

</exclusion>

</exclusions>

</dependency>`

四、总结

日志框架冲突特别对于新手来说处理起来比较头疼,因为涉及到了日志接口和日志实现。

我们推崇的应该是面向接口编程,因此我们大到开源项目,小到公司的公共 jar 包,应当合理利用 Maven 的传递机制。具体的日志实现不应该传递出去,避免影响到调用的下游方。

<optional>true</optional>`

转载至:https://jitwxs.cn/e2390047.html

编辑于 2021-01-30 · 著作权归作者所有

赞同 4

评论

相关推荐

如果只推荐一款成猫粮,你会推荐哪款?进口猫粮蓝馔、渴望、爱肯拿、美士哪个牌子好?2022高性价比成猫粮选购推荐(12月更)

过去一年,我自费近万元,从国产卫仕到进口蓝馔、渴望,测试不下15款猫粮,就是为了给家里2个挑食肠胃又傲娇的猫主子,找到一款最合适的口粮。养宠6年负责任的说,猫咪生病90%的原因都来自于猫粮,品质不好的猫粮营养不均衡,猫咪吃了容易生病,到医院花大钱不说,关键是孩子受罪,我们也跟着操心。而选择一款好的猫粮,更好的为猫咪补充身体需要的营养同时,猫咪爱吃长时间身体健康不生病,毛色亮精神好,排便不软便,铲屎...

阿多尼斯船长的回答

鼻子黑头巨多!有什么逆天好用的去黑头泥膜?

比手挤还要见效的去黑头方法总共就10来分钟,这辈子都不用和黑头打交道了!我说的这个不用和黑头打交道,单纯指的是在定期的清洁维护下黑头不会在脸上出现,并不是指搞一次清洁后黑头就永远消失了毕竟黑头是油脂氧化后的产物,只要咱皮肤正常分泌油脂,这玩意儿就一直是会存在的但是!哥们我现在一个月只需要定期清洁那么几次,别说黑头了,痘痘闭口粉刺都很少见!一年四季整张脸基本都是干干净净的先重度提醒一下闭坑环节知道有...

我有3千万的回答

【敏感肌面霜大PK】6款敏感肌面霜大实测,帮你选择最适合的敏感肌面霜

史上最全干货!作为敏感肌大红脸,5年来我已经买过30多款面霜,这次就把敏皮护肤指南给大家掰扯透!!原创内容不接受转载,定期更新。目前在榜的是:6款口碑好or热度高的敏感肌面霜,价位在几十到几百不等,成分和使用体验都会尽可能详细的补充。如果有什么方面没涉及到,或者有什么牌子想问的,大家可以直接留言,我会接着更新,后面还有敏皮需get的基础知识,姐妹们可以点点收藏,以防走丢~6个产品的基本信息摸良心讲...

一只奈良小鹿几的回答

2022年孕妇沐浴露榜单安利:孕期安全又好用的沐浴露TOP10榜来喽~拒绝智商税,警惕“黑名单”沐浴露钻空!!

前言:本文主旨是帮助大家挑选适合安全又好用的孕妇沐浴露,不刻意营销吹捧,实实在在分享我接触过,或身边怀孕妈妈接触过的孕妇沐浴露分享给大家,仅供参考~不管外面对所谓“孕妇专用”营销的有多火!大家只需要记住一条:孕妇是否需要用专门的沐浴露要根据自身的情况而定。像体质好并且平时没有被孕反影响的孕妈,之前的沐浴露用的又是安全、低刺激的产品,那就没必要再更换其它牌子的沐浴露。但是如果你用的是什么L士、舒F佳...

糯米团团的回答

高度近视吃叶黄素有用吗?

爱次溜溜梅的回答

经常掉头发,怎么能让发量变多?Onuy育发液真的有用吗?

我是真没想到,一个几十块的育发液能这么好用,直接拯救了我们“濒危”的头发!一不小心获得让头发变多的技能,实在忍不住了,发出来浅浅的嘚瑟嘚瑟:​其实老早以前我也算是个能炫耀发量的女生,BUT,自从工作了后天天加班、熬夜,不知不觉中头发都快熬没了。为了头发这事儿,我也是下了狠心,防脱套装、#发仪,某凝胶,以及各种养发馆,还有什么生姜擦头皮,侧柏叶煮水洗头好多偏方,我都试过用处都不大!后来还是刷小红薯的...

月野的回答

2023年壁挂炉选购攻略,家用壁挂炉怎么选?哪种壁挂炉更节能,功率如何选?家用壁挂炉选购看这一篇就够了

贴地飞行的回答

夫妻感情不合面临离婚?教你正确挽救婚姻全攻略

从事情感咨询多年,我发现很多的病入膏肓的婚姻都是“拖”出来的,归根于很多人遇到婚姻问题时缺乏合理有效的方法,导致问题愈演愈烈。为此我专门做了下面的这个链接,如果你对自己的感情问题拿捏不准,可以点击链接卡片获取咨询联系方式,进行一次详细的咨询分析。有需要的伙伴可以点击获取。https://xg.zhihu.com/plugin/d59d60cb7fb0bc466fa24818a474d75a?BIZ...

林然 心理咨询师的回答

有什么沐浴露可以把自己腌入味?

桃花仙的回答

奇遇MIX VR一体机,一款具有混合现实(MR)功能的消费级VR一体机,VR和MR的融合,将带来哪些新奇的体验?(内有奇遇MIX VR一体机上手体验及测评)

王之葵托利的回答

收起

大家还在搜

苹果ssl错误怎么办

slf4j和log4j区别

creo突出显示的2尺寸冲突

如何解决约束和尺寸冲突

slf4j官网

处理冲突的5种方式

@slf4j

草图包含冲突的约束怎么办

解决价值冲突的主要原则

slf4j怎么读

s m a r t原则包括

初中生如何处理矛盾冲突

越狱后ssl错误

iphone发生了ssl错误

冲突的四个原则

处理冲突的原则有哪些

ssl错误是什么意思

f t分别代表对错

无法加载发生了ssl错误

ssl错误无法建立安全连接

处理冲突的原则包括智慧树

处理学生冲突遵循的原则

处理人际冲突的原则有哪些

处理学生冲突的基本要求

相关推荐

jar包冲突解决:SLF4J: Class path contains multiple bindings._知乎

配置完springboot项目启动后报错:SLF4J: Class path contains multiple SLF4J bindings.Caused by: org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j原因:slf4j日志jar包冲突解决思路:从上图可以看出三...

slf4j包冲突问题_知乎

java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format百度上面查到的::原因可能有两个:1、jar包冲突,build path下可能加入了 slf4j-log4或者 log4j的jar包,删除即可.2、jar包版本导致的,例如 如果你的Logback是1.0.6版本,...

一个解决jar包冲突的实现方案_知乎

0.概述 fat-jar是将一个jar所依赖的jar都内嵌在它的jar包中而重新打包成的新jar.内嵌的jar只能被jat-jar包内的资源引用,因此jat-jar可以有效的解决jar包冲突. 例如:...

是时候跟NoSuchMethodError说再见了_知乎

看到异常信息后,第一反应是这种问题99.9999%的原因是maven依赖包有不兼容的问题.不过用idea的Dependency Analyzer排查时发现根本就不存在有冲突的包.这下发现遇到真问题了....

JAR包冲突解决的思路_知乎

一.什么情况下会产生JAR包冲突二.JAR包冲突解决的一般思路1.版本选择(1)优先使用较高版本(2)查看版本的依赖, 选择依赖版本与项目J

O型血的人比较容易被蚊子叮咬。汗腺分泌旺盛者、有体臭者或者不注意环境及皮肤的清洁卫生,也容易吸引蚊子。深肤色人群,或者穿深色衣服者,比如黑色,褐色等,也容易成为蚊子的目标。肥胖者因为会产生较多的体热以及二氧化碳,也是蚊子选择的对象。身上带着香气,比如喷香水,或者是外涂有香味的身体乳,也会遭遇蚊子。

蚊子:

蚊(mosquito)属于双翅目(Diptera)、蚊科(Culicidae),又称“蚊子”,是最重要的医学昆虫类群。蚊分布很广,种类很多,迄今为止全世界已记录蚊虫共3亚科(巨蚊亚科、按蚊亚科、库蚊亚科),35属,3600多种和亚种。中国已发现370余种,其中按蚊、库蚊、伊蚊3个属的蚊种超过半数。

如果您遇到手机自带相机应用打不开的情况,可以先试试以下处理方法:

1、一键清理后台所有应用后重新进入。

2、长按“相机”图标,点击「应用信息(详情) >存储占用 >清除数据」或进入手机「设置 >(应用)>应用管理 >点击右上角“:” >选择“显示系统进程” >相机 >存储占用」,清理相机应用数据。

3、重启手机后尝试。

4、查看手机系统版本是否为最新版本,进入「设置> (关于本机) > 软件更新 >立即下载」将手机系统版本升级至最新。

5、若安装了第三方相机应用,建议您更新到最新版。若安装第三方相机应用后出现以上述问题,建议您卸载该应用程序尝试。

如果以上方法对您帮助有限,辛苦您携带手机和相关购机凭证前往就近的OPPO客服中心,接下来交由我们专业的工程师为您检测手机。


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/664021.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

随机推荐

  • 怎么查化妆品是不是正品 这6个方面可供参考

    化妆品真伪辨别: 1、看包装。 正品包装精美、考究、盒面光华、色泽鲜亮,烫金字体工整、清晰,而仿货外包装大都印制粗糙,色泽不正,字体不清;正品包装即便是小样做工都非常的精美细致,相应的外盒或瓶体上的字迹、,LOGO、条码等,无论再小,都一定

    2023-12-14
    34500
  • 学化妆大概要多少钱呢

    学习化妆多少钱的都有,从短期的1000多2000多3000多不等主要还是根据咱们每个人以后的就业发展方向来选择适合自己的课程,如果你想学习化妆技术的话,我建议你可以找专业的学校去学。学习化妆多少钱的课程都有,从1000多2000多3000多

    2023-12-14
    22100
  • 你认为什么牌子的睫毛膏最好用

    美宝莲的睫毛膏性价比很高,迷你刷头是里面很好用的一款,容易染的就好洗,防水的就不好洗,这个是肯定的,要用睫毛膏的mm就要备用卸妆液,天经地义~~~兰蔻美宝莲什么的都是欧莱雅集团旗下的,美宝莲的睫毛膏配方和兰蔻的是一样,你还别不信,要是米多的

    2023-12-14
    33300
  • 法国天芮化妆品怎么样法国天芮适合什么年龄呢

    法国天芮化妆品怎么样SPA护肤一直是被认为是高端且价格昂贵的全面护肤理疗,而法国Terraké天芮却把它搬到了具体的产品中,给予了肌肤最深层最全面的SPA体验,而且将高大上的SPA体验变成家庭化简单化,但效果却一点也没打折扣。系列多样化目前

    2023-12-14
    22800
  • 脸部护肤的正确步骤视频

    脸部护肤的正确步骤视频脸部护肤的正确步骤视频,面部清洁不够彻底就会滋生细菌,保湿工作能锁住我们脸上的水分,皮肤的状态和我们的身体健康息息相关,教你脸部护肤的正确步骤视频,护肤小技巧!脸部护肤的正

    2023-12-14
    19800
  • 韩国化妆品品牌前十名有哪些

    品牌列表:雅诗兰黛化妆品,迪奥化妆品。雅诗兰黛是全球最大的护肤、化妆品和香水公司之一,倩碧、阿拉米斯、芭比布朗等都是其旗下品牌。一开始是以护肤霜和抗衰老护肤品出名,但是它的化妆品也很受欢迎,有底妆。十大大牌护肤品动词(verb的缩写)香奈儿

    2023-12-13
    22900
  • 用什么护肤品收缩毛孔效果最好啊

    收缩毛孔是个综合工程,各种方法结合使用效果会更好。这里有几个小建议,可以根据自己的具体情况加以选用: 1、采用毛孔深层清洁产品:如含有微泡沫的洁面乳,含有高效的表面活性剂(但是不应当刺激皮肤的油脂分泌,比如皂基产品);如有可能,可以加一些珍

    2023-12-13
    23400
  • 提亮肤色用什么化妆品

    提亮肤色用什么化妆品 提亮肤色用什么化妆品,关于变美我们能做出什么改变,学起来也不会太难,产品也是逐步学习试验出来的,技巧堆积起来就是技术,提亮肤色用什么化妆品,带你走上人生巅峰!提亮肤色用什么

    2023-12-13
    21700
  • 南宁市武鸣区老百姓同喜大药房怎么样

    南宁市武鸣区老百姓同喜大药房是2017-12-06在广西壮族自治区南宁市武鸣区注册成立的个人独资企业,注册地址位于南宁市武鸣区香山大道66号聚宝城新童汇儿童城B2号商铺。南宁市武鸣区老百姓同喜大药房的统一社会信用代码注册号是9145012

    2023-12-13
    21600

发表评论

登录后才能评论
保存