线程“main”中的异常java.lang.NoSuchMethodError:org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg slf4j

线程“main”中的异常java.lang.NoSuchMethodError:org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg slf4j,第1张

线程“main”中的异常java.lang.NoSuchMethodError:org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/ slf4j

拥有

slf4j-api
并选择对应版本的SLF4J绑定,并将它们作为依赖项添加到您自己的POM中。您的某些依赖项很可能会暂时解决导致问题的SLF4J绑定的不兼容版本。查找哪个库引入了不需要的SLF4J绑定(您可以通过轻松地实现此绑定
mvndependency:tree
),并在对该库的依赖项中添加相应的排除。

(通常不应在库中声明SLF4J绑定。实际上,发现实际原因后,您可能想向库开发人员报告这是错误的)


更新资料

这正是我在说的:

从依赖树中:

[INFO] +- org.geogit:geogit-core:jar:0.8-SNAPSHOT:compile[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.5:compile.....[INFO] +- org.apache.hbase:hbase-client:jar:0.98.0-hadoop2:compile       .....[INFO] |  +- org.apache.zookeeper:zookeeper:jar:3.4.5:compile[INFO] |  |  - org.slf4j:slf4j-log4j12:jar:1.6.1:compile

slf4j-log4j12
从获得绑定
hbase-client
,该版本为1.6.1。

但是,

slf4j-api
您在项目中拥有的版本是1.7.5。它们不兼容。

正确的解决方法是:

  1. slf4j-log4j12
    从您的依赖中排除
    hbase-client
  2. 在您自己的项目中声明兼容的SLF4J绑定

您还应该将此错误报告给zookeeper / hbase开发人员,因为对于库而言,将SLF4J绑定作为编译范围依赖项是不合适的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5565707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存