multiple bindings

SLF4J: Multiple bindings were found on the class path

谁说胖子不能爱 提交于 2020-01-07 19:40:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 众所周知,SLF4J是一个日志门面框架,它的作用是用于定义统一的日志接口,而具体的日志实现是由各个日志框架实现的,比如log4j,logback等。 问题 在使用SLF4J时,当class path同时包含了多个日志框架时,将会导致日志无法按照预期打印输出。通过查看控制台日志,能发现输出的warning info: Multiple bindings were found on the class path。 解决方法 当类路径中有多个日志框架可用时,应只保留一个日志框架,删除其他日志框架。比如,版本v0.8.1的 cassandra-all jar引入了log4j h和 slf4j-log4j12这两个编译时依赖项。当在maven pom.xml中引入v0.8.1的cassandra-all jar,实际上同时引入了log4j h和 slf4j-log4j12。在这种情况下,如果你不希望使用og4j h和 slf4j-log4j12,你可以按照下面的方式排除这两个artifact: <dependencies> <dependency> <groupId> org.apache.cassandra</groupId> <artifactId>cassandra-all</artifactId>