多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误

这篇具有很好参考价值的文章主要介绍了多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 复现错误


今天在编写使用Quartz执行定时任务的方法,如下代码所示:

public class QuartzTest {

  public static void main(String[] args) throws SchedulerException {
      // 1、创建Scheduler(调度器)
      SchedulerFactory schedulerFactory = new StdSchedulerFactory();
      Scheduler scheduler = schedulerFactory.getScheduler();
      // 2、创建JobDetail实例,并与SimpleJob类绑定
      JobDetail jobDetail = JobBuilder.newJob(SimpleJob.class)
              .withIdentity("job-1", "job-group").build();
      // 3、构建Trigger(触发器),定义执行频率和时长
      CronTrigger cronTrigger = TriggerBuilder.newTrigger()
              .withIdentity("trigger-1", "trigger-group")
              .startNow()  //立即生效
              .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ? "))
              .build();

      //4、执行
      scheduler.scheduleJob(jobDetail, cronTrigger);
      scheduler.start();
  }

class SimpleJob implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) {
      // 创建一个事件,下面仅创建一个输出语句作演示
      final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      System.out.println(
          Thread.currentThread().getName() + "--" + simpleDateFormat.format(new Date()));
    }
  }
}

启动时却报出如下图的错误:

多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误,免费专栏,java,servlet,开发语言,后端,spring boot

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

2. 分析错误


首先,找到上图中的SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.这句话。

将其翻译成中文是SLF4J:有关更多详细信息,请参阅 http://www.slf4j.org/codes.html#StaticLoggerBinder。

于是,点击链接https://www.slf4j.org/codes.html#StaticLoggerBinder,如下图所示:

多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误,免费专栏,java,servlet,开发语言,后端,spring boot
不过,这都是英文的,我们不妨翻译成中文,如下所示:

无法加载类org.slf4j.impl.StaticLoggerBinder

org.slf4j.impl.StaticLoggerBinder类无法加载到内存中时,将报告此警告消息。当在类路径上找不到适当的SLF4J绑定时,会发生这种情况。在类路径上放置一个(并且只有一个)slf4j-nop.jar slf4j-simple.jar,slf4j-log4j12.jar,slf4j-jdk14.jar或logback-classic.jar应该可以解决问题。

请注意,slf4j-api版本2.0.x及更高版本使用ServiceLoader机制。面向slf4j-api 2.x的后端(如logback 1.3及更高版本)不随org.slf4j.impl.StaticLoggerBinder一起提供。如果放置一个面向slf4j-api 2.0.x的日志记录后端,则需要在类路径上slf4j-api-2.x.jar。另请参阅相关常见问题条目。

1.6.0SLF4J版本1.6开始,在没有绑定的情况下,SLF4J将默认为无操作 (NOP) 记录器实现。

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

总的来说,就是缺少slf4j-log4j12.jar这个依赖。

于是,查找我的项目,确实缺少slf4j-log4j12.jar依赖。

3. 解决错误


由于我的项目缺少slf4j-log4j12.jar依赖,在pom.xml中增加如下以来即可:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>2.0.7</version>
    <scope>compile</scope>
</dependency>

重新启动项目,便能正常运行。

4. 解决该错误的其他方法


因为我的错误在项目中缺少slf4j-log4j12依赖,在pom.xml中增加该依赖即可。

如果你在项目中已增加了slf4j-log4j12依赖,但还是报错的话,可以参考如下解决方法。

检查范围(scope)是否设置为test,如下代码所示:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>2.0.7</version>
    <scope>test</scope>
</dependency>

多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误,免费专栏,java,servlet,开发语言,后端,spring boot

如果范围(scope)设置为test,也就是说只有在测试环境下,才可以使用。

而我是在main方法中直接运行,所以不属于测试环境,所以,这个包相当于就没有加入依赖。

可以将范围(scope)修改成compile,如下图所示:

多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误,免费专栏,java,servlet,开发语言,后端,spring boot文章来源地址https://www.toymoban.com/news/detail-756285.html

到了这里,关于多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决问题:Class path contains multiple SLF4J bindings.

    最近在整合SpringBoot项目于Dubbo的时候,遇到Class path contains multiple SLF4J bindings的错误,具体报错如下所示: 读取报错信息可以知道,问题出在我们的jar出现了冲突! 对于此类问题,我们可以插件Maven Helper快速定位解决!当然也可以在模块的依赖图中手动排错! 使用Maven Helpe

    2024年02月17日
    浏览(38)
  • Class path contains multiple SLF4J bindings.问题原因及解决方案

    问题背景 在进行logback的日志输出测试时,显示如下错误 2、原因 根据上面的错误提示,存在多个SLF4J bindings绑定,即存在多个slf4j的实现类,按上图所示这两个实现分别是 logback-classic-1.2.6和slf4j-log4j12-1.6.1 ,我们需要的是logback而不是log4j, 3、解决方案 因此,我们去掉log4j的

    2024年02月11日
    浏览(32)
  • 已解决Gradle错误:“Unable to load class ‘org.gradle.api.plugins.MavenPlugin‘”

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(38)
  • 【SpringBoot】SLF4J: Class path contains multiple SLF4J bindings.

    SpringBoot整合j2cache,启动时报错。 类路径包含多个SLF4J绑定,这可能会导致SLF4J绑定冲突,从而引发启动时的错误。 修改pom.xml,排除j2cache-core和j2cache-spring-boot2-starter中的slf4j-simple依赖,以解决SLF4J绑定冲突问题。 通过以上排除操作,我们成功解决了SLF4J绑定冲突的问题,确保

    2024年02月11日
    浏览(26)
  • JAVA基础 - SLF4J: Class path contains multiple SLF4J bindings

    告警描述 告警显示,在类路径下包含了多个SLF4J的绑定,然后选择了一个实现类。 如何解决 方案一 根据项目的实际情况,删除多余的JAR包,多个JAR包路径如下: 方案二 查看项目的POM文件中是否有重复的SLF4J引入,如何查看?: 找到多余的SLF4J,然后将其排除:

    2024年02月04日
    浏览(37)
  • org.slf4j.impl.StaticLoggerBinder异常处理

    SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. 错误原因: 使用mybatis连接sqlserver时导入mssql-jdbc依赖,一般这个错误下面都会跟着官网的解释地址,估计突然一看也懵,深究的话看官网文档,如果只想解决问题的话看下方的解决方案。 解决方案: 缺少org.slf4j.nop .jar包

    2024年02月11日
    浏览(33)
  • [尝试多种方法,终于解决]Pycharm报错ImportError: DLL load failed: 找不到指定的模块。

    在创建Anaconda环境之后,在pycharm中的过程中,我遇到了一个非常神奇的问题,就是当我使用PyCharm自带的Run manage.py Task...功能的时候,PyCharm一直提示我一个\\\"ImportError: DLL load failed:找不到指定的模块\\\"的错误,如下图所示。  尝试了多种方法,包括: 1.添加环境变量(在系统中添

    2024年02月14日
    浏览(53)
  • java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder

    本地开发spark项目时,测试案例运行时出现以下错误: 解决方法: 在项目的`pom.xml`文件中添加以下依赖: 感谢以下两位的分享: 关于解决 java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder 的解决方法 - gongstring - ITeye博客 java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder

    2024年02月04日
    浏览(35)
  • 全网多种方法解决error: failed to push some refs to ‘xxx‘

    今天使用 git status 查看文件状态,发现有一个文件未提交,如下代码所示: 既然未提交,则首先使用 git add 将当前目录下修改的代码,从工作区添加到暂存区,如下代码所示: 接着使用 git commit 将缓存区内容添加到本地仓库,如下代码所示: 但使用 git push origin master 将本地

    2024年02月16日
    浏览(35)
  • 小程序使用Vant组件时报错Failed to load font解决方法

    小程序引用Vant组件后每次重新编译都会报错 [渲染层网络层错误] Failed to load font https://at.alicdn.com/t/font_2553510_iv4v8nulyz.woff2?t=1649083952952 虽然不影响小程序运行,但看着很难受 按照网上教程所说的request合法域名添加“https://at.alicdn.com”后还是会报错,干脆不用网络请求了,直接

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包