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

随机推荐

  • 润芳可只能在美容院才能买到吗 一瓶护肤霜大概要多少钱

    再生乳霜816,再生精华498,全效滋养470,乳液470,除了洁面的160外,几乎都在470以上,死贵,每次拿货时都肉疼,但被美容院忽悠了,欲罢不能。润芳可还有口服的胶原蛋白及沙棘,30毫升,10瓶,198。一万多块已经送给美容院了,肝疼

    2023-12-14
    28100
  • 欧珀莱时光锁和欧莱雅小蜜罐那个补水抗皱好

    欧珀莱时光锁的补水抗皱效果好。1、使用之后效果。欧珀莱时光锁使用之后紧致补水,淡化细纹,紧致干纹黑眼圈。欧莱雅小蜜罐使用之后具有补水的效果。2、价格上。欧珀莱时光锁的价格便宜,具有性价比。欧莱雅小蜜罐的价格昂贵,没有性价比。你好,建议你考虑

    2023-12-14
    23700
  • 丸美弹力蛋白凝时紧致眼精华和丸美眼部多元 细胞日夜修护素这2种怎么使用

    很多朋友选择眼霜不会选,认为贵的就好,其实真的不是,俗话说的好,不选贵的只选对的,这句话可能很多人都深有感触,花钱好几百甚至上千元买了眼霜,但是效果却不佳,甚至还不如国货用的效果好,这个时候你是不是感受到了对和贵是不同的区别,所以今天我们就

    2023-12-14
    24300
  • 女士口红品牌排行榜前十名

    女士口红品牌前十名有:迪奥Dior口红全新烈艳蓝金唇膏哑光999#、YSL圣罗兰小金条细管口红1966#、YSL圣罗兰黑管唇釉镜面口红416#、兰蔻菁纯丝绒雾面唇膏196#、汤姆福特烈焰幻魅唇膏16#、YSL圣罗兰小黑条口红302#、兰蔻黑

    2023-12-14
    17600
  • 爱丽小屋双头眉笔棕色什么色号

    爱丽小屋双头眉笔棕色是3号色。爱丽小屋眉笔色号:1、1号茶褐色,适合眉色较浅自然眉色的。2、2号灰褐色,适合眉色较深发色较深的。3、3号棕色,适合眉色较浅,肤色较白的。4、4号深灰色,适合眉色较浅的。5、5号浅灰色,适合肤色较白妆容大胆的。

    2023-12-14
    16100
  • 用雪花秀清洁面膜脸会刺痛怎么回事

    ①首先应做好敷面前的皮肤准备,主要是彻底洁肤,或在按摩后以热毛巾敷面三分钟,使毛孔扩张后,再使用面膜,使用时用毛巾包住头发,显露面部。眉毛、睫毛等处最好先涂上面霜或橄榄油,因这些地方不能涂敷面膜。②将面膜用品涂在手指或软毛刷上,均匀的按颈部

    2023-12-13
    18500
  • 作为美容达人,这些你怎么能不知道!化妆品成分表分析怎么看

    一、首先我们需要了解一下全成分标识。1、根据国家质量检验检疫总局和国家标准化管理委员会发布的《消费品使用说明化妆品通用标签》的规定 ,从2010年6月17日起,所有在中国境内生产和进口报检的化妆品都需要在产品包装上明确标注产品配方中加入的所

    2023-12-13
    22400
  • 韩国化妆品有名的有哪些

    1、梦想时间Dreamtimes的产品秉承了韩国化妆品实惠好用的精髓,也是很多韩国明星在节目中公开支持的经典韩国化妆品品牌。其产品专注于解决年轻人的皮肤问题。自进入中国市场以来,受到了牛二、大s等美妆大师的青睐,近年来凭借高性价比和卓越功效

    2023-12-13
    14700
  • 宝宝用弱酸性的面霜可以吗,含尿囊素的面霜婴儿可以用吗

    爸爸妈妈在给自己宝宝购买一些护肤品时是比较谨慎的,因为宝宝的肌肤是很娇嫩的,若是用了对宝宝肌肤有刺激的护肤品,那么对宝宝的皮肤伤害是比较大的。所以爸爸妈妈在购买护肤品时,一般情况下是购买那种无香味、防腐剂的护肤品。那么,宝宝用弱酸性的面霜可

    2023-12-13
    22500

发表评论

登录后才能评论
保存