• SLF4J: Class path contains multiple SLF4J bindings.


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 我爱布朗熊 2024-06-20 17:27 采纳率: 75% 浏览 13 首页/ Java / SLF4J: Class path contains multiple SLF4J bindings. jarmavenjava 公司对接第三方,只能引入第三方的jar包,但是产生了依赖冲突在IDEA右侧的maven中也无法查看此三方的jar包引入了哪些maven依赖,所以我一直找不到是哪个包的问题 报错信息如下所示: SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/Inspur/InspurCode/ihs-platform/ihs-platform/ihs-platform-tools/libs/masmgc.sdk.sms-1.0.3-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/E:/Soft/Maven/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.util.Assert.isInstanceOf(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/Supplier;)V 也像下面一样排除了一些依赖,但是还不行 masmgc-sdk-sms masmgc.sdk.sms 1.0.3 system ${basedir}/libs/masmgc.sdk.sms-1.0.3-SNAPSHOT.jar org.slf4j slf4j-api org.slf4j slf4j-jdk14 ch.qos.logback logback-core ch.qos.logback logback-classic ch.qos.logback logback-parent 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-20 17:27
      关注

      引自免费微信小程序:皆我百晓生

      这个问题主要是由于在项目中存在多个版本的 SLF4J(简单日志门面框架)绑定,这导致了依赖冲突。SLF4J 是一个用于日志的框架,它本身并不实现日志功能,而是依赖于其他日志框架(如 Logback 或 Log4j)来实现具体的日志功能。因此,当你在项目中引入多个 SLF4J 绑定时,可能会导致运行时错误。

      从你给出的信息来看,有两个 jar 包包含了 SLF4J 绑定:masmgc.sdk.sms-1.0.3-SNAPSHOT.jarlogback-classic-1.2.3.jar。这导致了冲突。解决这个问题的关键在于确定哪个版本的 SLF4J 绑定是必需的,并排除其他版本的绑定。

      根据你提供的 Maven 配置,你已经尝试通过 标签排除了一些依赖,但仍然遇到了问题。你可以尝试以下步骤来解决这个问题:

      1. 检查 pom.xml 文件中的依赖项,确保只引入了必需的 SLF4J 相关依赖。如果可能的话,尝试只引入一个版本的 SLF4J 绑定。
      2. 如果你无法控制第三方库的引入,你可以尝试在你的项目中显式地引入一个版本的 SLF4J 绑定(例如 Logback),并通过 标签排除其他版本的绑定。这样可以确保你的项目使用你指定的版本的 SLF4J 绑定。

      例如,你可以在你的 pom.xml 文件中添加以下依赖项:

      
          ch.qos.logback
          logback-classic
          你的指定版本
          
              
              
          
      
      

      注意替换 你的指定版本 为你想要使用的 Logback 版本。同时,根据实际需求排除其他版本的 SLF4J 绑定相关依赖。这样应该可以解决依赖冲突问题。另外,确保你使用的 SLF4J 版本与你的项目兼容。

      如果问题仍然存在,你可能需要进一步检查项目中的其他依赖项,确保没有其他依赖项引入了冲突的 SLF4J 绑定。你还可以尝试使用 Maven 的依赖树功能(运行 mvn dependency:tree 命令)来查看项目的完整依赖关系,并定位冲突来源。

      评论 编辑记录
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      SpringCloud基础8——多级缓存
      Greenplum数据库故障分析——能对数据库base文件夹进行软连接嘛?
      高并发内存池项目(C++实战项目)
      Django(三)接口自动化平台HttpRunnerManager本地部署
      题解:P9426 [蓝桥杯 2023 国 B] 抓娃娃
      docker容器常用命令
      Bootstrap之栅格布局
      JMeter + InfluxDB2
      【自然语言处理】自然语言处理NLP概述及应用
      stm32项目平衡车详解(stm32F407)上
    • 原文地址:https://ask.csdn.net/questions/8121762