昨天写代码的时候遇到这个问题,找了好久才找到解决方案,记录分享一下。
报错内容大致如下:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/Jar%20Package/slf4j-1.6.4/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/Jar%20Package/slf4j-1.6.4/slf4j-nop-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class
Exception in thread "main" java.lang.ExceptionInInitializerError
报错原因:jar包冲突
我的操作:Library中本来有了log4j-over-slf4j,我在pom中导入了dozer依赖,dozer又在library自动导入了slf4j-log4j12,所以log4j-over-slf4j与slf4j-log4j12产生了冲突。
解决方式:禁用slf4j-log4j12或slf4j-log4j12其中一个
步骤:
1.打开pom.xml文件,在内容部分右键->Maven->show dependencies
2.打开以后界面如下,Crtl+F查找冲突的包
3.对于冲突的依赖,右键-Exclude删除
4.右下角提示更新maven,点击更新
5.成功运行