Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow
来源:互联网 发布:网络投资挣钱 编辑:程序博客网 时间:2024/06/14 05:17
引入org.apache.activemq:activemq-all依赖与org.slf4j:log4j-over-slf4j导致运行时冲突产生“Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow”异常,这是由于org.apache.activemq引入的slf4j-log4j12.jar与pom文件中的 log4j-over-slf4j.jar循环调用导致的异常,从名字上可以看出slf4j-log4j12是将slf4j的日志桥接到log4j12上, log4j-over-slf4j则是将log4j的日志桥接到slf4j上,因而产生了循环调用。
下面我们看下org.apache.activemq:activemq-all这个maven依赖:
从上图可以看出,activemq-all只是将一些jar包打包起来而已,不是常规的maven构件,所以我们不能通过exclusion标签将slf4j-log4j12从activemq-all中删除,解决这个冲突有两种方法:
1.使用log4j日志框架,删除pom文件中的log4j-over-slf4j依赖
2.删除activemq-all,选择具体使用到的activemq组件,比如activemq-pool、activemq-core等
阅读全文
0 1
- QThread类参考
- 在eclipse中启动tomcat,无法访问localhost:8080
- <转载>如何用git将项目代码上传到github
- java StringBuffer类和StringBuilder类
- c:if 判断集合是否为空
- Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow
- new Function
- 深入浅出Java分布式系统通信
- GC 参数
- Python 里的函数
- Java中j=j++与c语言中j=j++的区别
- 2017年多校联训1 部分题解
- 2017 Multi-University Training Contest
- Atmel Studio-SAM单片机开发 ---PIO