我的类路径中有两个jar文件,它与slf4j有依赖关系。这会在我的Java程序中产生警告消息:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/myprogram.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.slf4j.impl.Log4jLoggerFactory]是否有一种方法仅通过更改gradle文件而不从我的类路径中删除上述任何jar文件来删除此警告消息?
谢谢
发布于 2015-11-11 13:24:27
是否有一种方法仅通过更改gradle文件而不从我的类路径中删除上述任何jar文件来删除此警告消息?
不是的。
删除该警告的唯一方法是只为SLF4J提供一个绑定。And you really should do so:
即使存在多个绑定,SLF4J也会选择一个日志框架/实现并与其绑定。-- SLF4J选择绑定的方式是由JVM决定的,从所有实际目的来看,都应该认为是随机的。
由于您在自己的jar中提供了绑定,将自己限制为单个绑定的最简单方法是排除slf4j-log4j12-1.7.6.jar。
https://stackoverflow.com/questions/33640476
复制相似问题