当前位置: 首页 > 知识库问答 >
问题:

如何消除“类路径包含多个SLF4J绑定”警告?

仲孙英才
2023-03-14

这或多或少是一个“常见”的问题,然而,我还没有找到一个好的答案。所以,再一次,这里是警告:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/eualin/.m2/repository/org/slf4j/slf4j-jcl/1.6.0/slf4j-jcl-1.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/eualin/.m2/repository/org/slf4j/slf4j-log4j12/1.5.11/slf4j-log4j12-1.5.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

这里有两种可能的解决方案[1][2]。

假设它们都对我有用,很明显,它们只是黑客,我不确定我是否应该依赖它们中的任何一个。你会推荐我什么?请记住,警告不会在终端时出现;只有当我通过IntelliJIDEA运行应用程序时才会出现。

任何建议都非常感谢。

共有3个答案

匡晟
2023-03-14

这大概是因为IntelliJIDEA正在添加一个slf4j绑定jar本身。我的猜测是在运行单元测试时发生的。因此,一种方法将看到是否可以排除单元测试运行程序的启动器配置中的另一个JAR。

但归根结底,这个警告是无害的,你可以忽略它。

端木宏盛
2023-03-14

SLF4J希望在任何应用程序运行时中只出现一个版本的StaticLoggerBinder。如果存在多个日志,SLF4J无法保证日志消息将路由到相应的记录器。

SLF4J的架构要求只使用一个库来路由日志消息(例如slf4j-

范高刚
2023-03-14

在我的特殊情况下,我在IntelliJ IDEA中得到了这个错误,刷新Gradle修复了这个错误:

您可以从视图中找到此窗口。。工具窗口。。格雷德尔

我们的设置是:

  • IntelliJ IDEA v15
  • Gradle
  • Jenkins
  • SVN
 类似资料: