问题描述:
最近在把项目重构,中途也加入了些新的maven坐标,编译打包都没问题,在运行时出现以下错误:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/Java/maven_repository/org/slf4j/slf4j-jdk14/1.7.30/slf4j-jdk14-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/Java/maven_repository/org/slf4j/slf4j-log4j12/1.7.30/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/Java/maven_repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
原因分析:
开始直接上网找解法发现不中用,于是再看看再想想,才知道是多个SLF4J绑定的原因,分别是这三个:
org/slf4j/slf4j-jdk14/1.7.30/slf4j-jdk14-1.7.30
org/slf4j/slf4j-log4j12/1.7.30/slf4j-log4j12-1.7.30
ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3
怎么办?其实日志已经给了个链接提示你: http://www.slf4j.org/codes.html#multiple_bindings
解决方案:
所以就是人为去排除三个绑定中两个,进入依赖树Ctrl+F查找想排除掉的jar,并Exclude掉