JAVA基础 - SLF4J: Class path contains multiple SLF4J bindings

这篇具有很好参考价值的文章主要介绍了JAVA基础 - SLF4J: Class path contains multiple SLF4J bindings。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

告警描述

告警显示,在类路径下包含了多个SLF4J的绑定,然后选择了一个实现类。

[root@hm hook-bin]# ./import-hive.sh
Using Hive configuration directory [/opt/software/apache-hive-3.1.0-bin/conf]
Log file for import is /opt/software/apache-atlas-2.1.0/logs/import-hive.log
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/software/apache-hive-3.1.0-bin/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/software/hadoop-3.1.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.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 [org.apache.logging.slf4j.Log4jLoggerFactory]
NEXT IT WILL IMPORT THE HIVE'S META DATA!
2023-06-06T08:46:38,950 INFO [main] org.apache.atlas.ApplicationProperties - Looking for atlas-application.properties in classpath
2023-06-06T08:46:38,954 INFO [main] org.apache.atlas.ApplicationProperties - Loading atlas-application.properties from file:/opt/software/apache-hive-3.1.0-bin/conf/atlas-application.properties
2023-06-06T08:46:38,995 INFO [main] org.apache.atlas.ApplicationProperties - Using graphdb backend 'janus'
2023-06-06T08:46:38,995 INFO [main] org.apache.atlas.ApplicationProperties - Using storage backend 'hbase2'
2023-06-06T08:46:38,995 INFO [main] org.apache.atlas.ApplicationProperties - Using index backend 'solr'
2023-06-06T08:46:38,995 INFO [main] org.apache.atlas.ApplicationProperties - Atlas is running in MODE: PROD.
2023-06-06T08:46:38,995 INFO [main] org.apache.atlas.ApplicationProperties - Setting solr-wait-searcher property 'true'
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Setting index.search.map-name property 'false'
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Setting atlas.graph.index.search.max-result-set-size = 150
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Property (set to default) atlas.graph.cache.db-cache = true
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Property (set to default) atlas.graph.cache.db-cache-clean-wait = 20
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Property (set to default) atlas.graph.cache.db-cache-size = 0.5
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Property (set to default) atlas.graph.cache.tx-cache-size = 15000
2023-06-06T08:46:38,996 INFO [main] org.apache.atlas.ApplicationProperties - Property (set to default) atlas.graph.cache.tx-dirty-size = 120

如何解决

方案一

根据项目的实际情况,删除多余的JAR包,多个JAR包路径如下:

/opt/software/apache-hive-3.1.0-bin/lib/log4j-slf4j-impl-2.10.0.jar
/opt/software/hadoop-3.1.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar
方案二

查看项目的POM文件中是否有重复的SLF4J引入,如何查看?:

ROCKY@LAPTOP MINGW64 /d/02-工作空间/06-代码空间/04-gitee/rills-atlas-2.1.0-rc3/addons/hive-bridge (master)
$ mvn dependency:tree

找到多余的SLF4J,然后将其排除:文章来源地址https://www.toymoban.com/news/detail-764123.html

<dependency>
	<groupId>net.vcus</groupId>
	<artifactId>perf-case</artifactId>
	<version>1.0.0</version>
	<exclusions>
		<exclusion>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</exclusion>
	</exclusions>
</dependency>

到了这里,关于JAVA基础 - SLF4J: Class path contains multiple SLF4J bindings的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • java.lang.ClassCastException: class org.apache.logging.slf4j.SLF4JLoggerContext cannot be cast 解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年02月11日
    浏览(53)
  • 【SpringBoot中使用SLE4J日志框架启动报错:SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinde】

    1.1 出现的问题 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 1.2 原因分析 检查自己的maven依赖,发现已经引入了slf4j-api了,这是为什么呢?其原因是,SLF4J本身

    2024年02月13日
    浏览(37)
  • slf4j java: 程序包org.slf4j不存在问题解决

    Error:(17, 1) java: 程序包org.slf4j不存在 1、本来就集成了日志依赖,后面添加了一个新的maven依赖,导致lombok.extern.slf4j.@Slf4j注解有问题。 解决办法:手动引入slf4j依赖和log4j依赖 旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频 哔哩哔哩旭东怪的个人空间,提供旭东怪分享的视

    2024年02月12日
    浏览(51)
  • 多种方法解决Failed to load class “org.slf4j.impl.StaticLoggerBinder“.的错误

    今天在编写使用 Quartz 执行定时任务的方法,如下代码所示: 启动时却报出如下图的错误: 即 SLF4J: Failed to load class \\\"org.slf4j.impl.StaticLoggerBinder\\\". 首先,找到上图中的 SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 这句话。 将其翻译成中文是 SLF4J:有关更多详

    2024年02月04日
    浏览(68)
  • 【Java】异常处理 之 使用SLF4J 和 Logback

    前面介绍了 Commons Logging 和 Log4j 这一对好基友,它们一个负责充当日志 API,一个负责实现日志底层,搭配使用非常便于开发。 有的童鞋可能还听说过 SLF4J 和 Logback 。这两个东东看上去也像日志,它们又是啥? 其实 SLF4J 类似 于Commons Logging ,也是一个日志接口,而 Logback 类似

    2024年02月12日
    浏览(52)
  • java 项目配置slf4j - log4j2

    2024年02月13日
    浏览(43)
  • 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日
    浏览(47)
  • JAVA中使用log4j及slf4j进行日志输出的方法

    JAVA中输出日志比较常用的是log4j,这里讲下log4j的配置和使用方法,以及slf4j的使用方法。 一、下载log4j的架包,并导入项目中,如下: 二、创建log4j.properties配置文件 1、log4j配置文件的位置: (1)如果是java project项目,则在项目的根目录下创建log4j.properties而不是在src目录下

    2024年02月07日
    浏览(46)
  • SpringBoot——Slf4j

    在开发中,我们经常使用 System.out.println() 来打印一些信息,但是这样不好,因为大量的使用 System.out 会增加资源的消耗。我们实际项目中使用的是 slf4j 的 logback 来输出日志,效率挺高的,Spring Boot 提供了一套日志系统,logback 是最优的选择。 引用百度百科里的一段话: SLF

    2023年04月18日
    浏览(49)
  • java slf4j,Commons Logging与log4j,Logback,tinylog和异常配合使用

    1、日志是什么?         日志是每天记录我们程序情况的。日志管理的目的是为了记录日志。 2、为什么会有日志?         1、问题追溯,通过日志文件的记录可以使我们运维或者程序员快速查找问题根源。         2、状态检测,检测我们系统状况,为项目出现的问题做

    2024年02月16日
    浏览(60)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包