IntelliJ IDEA中程序包org.slf4j找不到的解决

 更新时间:2023年11月13日 10:56:44   作者:烈火雨季  
这篇文章主要介绍了IntelliJ IDEA中程序包org.slf4j找不到的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

IDEA中程序包org.slf4j找不到

最近导入公司项目的时候遇到个莫名其妙的问题,提示程序包org.slf4j找不到。查了下maven,slf4j和log4j都已经导入了。

捣鼓了老半天终于发现问题了:

记得把slf4j-log4j的包也一起导入进去

idea里面用svn直接import进来的项目竟然还会遇到依赖包的问题我也是挺无语的……

IDEA调试@Slf4j log.info无法打印日志,报错failed to load class “org.slf4j.imp.StaticLoggerBinder“及解决亲测可行

1. 报错 failed to load class “org.slf4j.imp.StaticLoggerBinder”

在这里插入图片描述

2. 解决 仅提供唯一一个包(slf4j-nop.jar、slf4j-reload4j.jar、slf4j-api.jar、slf4j-jdk14.jar或logback-classic.jar等)在类路径

来自 www.slf4j.org 官网的解析:

当在类路径上找不到SLF4J提供程序时,会报告此警告,即不是错误消息。将slf4j-nop.jar、slf4j-reload4j.jar、slf4j-jdk14.jar或logback-classic.jar等众多可用提供程序中的一个(也是唯一一个)放在类路径上应该可以解决问题。

在没有提供程序的情况下,SLF4J将默认为无操作(NOP)记录器提供程序。

请注意,slf4j-api 2.0.x及更高版本使用ServiceLoader机制。早期的版本依赖于静态绑定机制,而slf4j-api不再采用这种机制。请阅读常见问题解答条目SLF4J 2.0.0版本有什么变化?了解更多重要细节。

如果您负责打包应用程序而不关心日志记录,那么将slf4j-nop.jar放在应用程序的类路径上将消除此警告消息。请注意,库或框架等嵌入式组件不应声明对任何SLF4J提供程序的依赖,而应仅依赖于SLF4J-api。当库声明编译时依赖于SLF4J提供程序时,它会将该提供程序强加给最终用户,从而否定SLF4J的目的。

类路径包含SLF4J绑定,目标为SLF4J-api版本1.7.x或更早版本为Jigsaw(Java 9)、slf4j-api 2.0.x版及更高版本的出现做计划时,请使用ServiceLoader机制。SLF4J的早期版本依赖于静态绑定机制,而SLF4J-api 2.0.x版本不再采用该机制。

如果SLF4J没有找到以SLF4J 2.0.x为目标的提供程序,而是找到了以SLF4J.1.7或更早版本为目标的绑定,它将列出它找到的绑定,但在其他情况下将忽略它们。

这可以通过在类路径上放置一个SLF4J提供程序来解决,这些提供程序包括logback版本1.3.x及更高版本,以及SLF4J-reload4j、SLF4J-jdk14、SLF4J simple版本2.0.0或更高版本中的一个。

在这里插入图片描述

3. 在右侧查看自己引入的包,然后exclusions排除对应的包

在这里插入图片描述

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一个简单的Java音乐播放器

    一个简单的Java音乐播放器

    这篇文章主要为大家分享一个简单的Java音乐播放器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • springboot读取nacos配置文件的实现

    springboot读取nacos配置文件的实现

    SpringBoot注册服务到Nacos上,由Nacos来做服务的管理,本文主要介绍了springboot读取nacos配置文件的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • RocketMQ获取指定消息的实现方法(源码)

    RocketMQ获取指定消息的实现方法(源码)

    这篇文章主要给大家介绍了关于RocketMQ获取指定消息的实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用RocketMQ具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • Java基于Guava Retrying实现重试功能

    Java基于Guava Retrying实现重试功能

    这篇文章主要介绍了Java基于Guava Retrying实现重试功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java实现自定义中文排序的方法机注意事项

    Java实现自定义中文排序的方法机注意事项

    在Java中,中文排序通常涉及到使用Collator类来处理字符串的比较,确保根据汉字的拼音顺序进行排序,本文给大家介绍了Java实现自定义中文排序的方法机注意事项,并有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-10-10
  • java接口语法以及与类的关系详解

    java接口语法以及与类的关系详解

    接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法
    2021-10-10
  • Mybatis配置解析看这一篇就够了

    Mybatis配置解析看这一篇就够了

    这篇文章主要介绍了详解Mybatis是如何解析配置文件的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Java中Spring的创建和使用详解

    Java中Spring的创建和使用详解

    这篇文章主要介绍了Java中Spring的创建和使用详解,Spring 是⼀个包含了众多⼯具⽅法的 IoC 容器,既然是容器那么 它就具备两个最基本的功能,将对象存储到容器中,从容器中将对象取出来,需要的朋友可以参考下
    2023-08-08
  • SpringBoot 自定义+动态切换数据源教程

    SpringBoot 自定义+动态切换数据源教程

    这篇文章主要介绍了SpringBoot 自定义+动态切换数据源教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 基于SpringBoot和PostGIS的某国基地可视化实战

    基于SpringBoot和PostGIS的某国基地可视化实战

    本文以Java开发语言为例,使用SpringBoot框架来进行后台开发,详细讲解如何使用Leaflet对PostGIS的全球基地信息进行Web可视化,最后分享Web可视化结果,感兴趣的朋友跟随小编一起看看吧
    2024-08-08

最新评论