开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
2018-01-02 21:19
489 查看
转自:https://www.cnblogs.com/sunfie/p/7258451.html
SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for
more details.
Exception in thread "main" Java.lang.ExceptionInInitializerError
at org.apache.log4j.LogManager.getLogger(LogManager.java:44)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:66)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:277)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)
....
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. See also http://www.slf4j.org/codes.html#log4jDelegationLoop for
more details.
at org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:51)
... 11 more
原因是引用了两个关于log4j的jar,造成死循环
log4j-over-slf4j-1.7.7.jar
slf4j-log4j12-1.7.7.jar
但只引用slf4j-log4j12-1.7.7.jar会提示org.apache.log4j.Level这个class找不到
要使用log4j记录日志,其实只用引用log4j-over-slf4j-1.7.7.jar就可以了,一般在maven中引入其他依赖时,可以排除对log4j的引用:
SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for
more details.
Exception in thread "main" Java.lang.ExceptionInInitializerError
at org.apache.log4j.LogManager.getLogger(LogManager.java:44)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:66)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:277)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)
....
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. See also http://www.slf4j.org/codes.html#log4jDelegationLoop for
more details.
at org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:51)
... 11 more
原因是引用了两个关于log4j的jar,造成死循环
log4j-over-slf4j-1.7.7.jar
slf4j-log4j12-1.7.7.jar
但只引用slf4j-log4j12-1.7.7.jar会提示org.apache.log4j.Level这个class找不到
要使用log4j记录日志,其实只用引用log4j-over-slf4j-1.7.7.jar就可以了,一般在maven中引入其他依赖时,可以排除对log4j的引用:
<exclusion> <groupid>log4j</groupid> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupid>org.slf4j</groupid> <artifactId>elf4j-log4j12</artifactId> </exclusion>
相关文章推荐
- 开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
- Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
- Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
- Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError
- 《Springboot极简教程》问题解决:Idea解决Gradle库依赖冲突问题:Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting
- 13.4 库依赖冲突问题:Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path
- Java学习-051-Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError
- Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow
- iOS开发——常见错误——使用MJRefresh返回上一个界面蹦掉的情况
- Android开发常见错误及技巧
- Android开发常见错误-ing
- 软件项目开发常见错误
- Android ROM开发(二)——ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法
- Hibernate开发中常见错误总结
- JNI开发的常见错误&&Android.mk文件说明&& jni开发的简便流程
- 开发常见错误
- WCF分布式开发常见错误(11):There is already a listener on IP endpoint ,IP 终结点 已经存在侦听器,
- android开发学习(一)——创建模拟器遇到的常见错误
- 开发常见错误解决(4)WSE3.0解析策略文档失败,Failed parsing the policy document
- 实时嵌入式软件开发的25个常见错误(二)