java – 如何摆脱“类路径包含多个SLF4J绑定”的警告?

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

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运行应用程序时.

任何建议都非常感谢.

解决方法:

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

SLF4J的体系结构要求只使用一个库来路由日志消息(例如,slf4j-< logging framework> .jar).当多个类路径通过应用程序服务器,IDE,启动脚本等进行播放时,SLF4J库可以多次包含.您可能需要寻找并查找在IntelliJIDEA中添加或修改类路径的位置(例如在配置的Java编译器或任何启动配置中).

上一篇:Python Eyed3警告


下一篇:c-SSE半载(_mm_loadh_pi / _mm_loadl_pi)发出警告