Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path 解决过程

原因:log4j-over-slf4j和slf4j-log4j12是跟Java日志系统相关的两个jar包,如果同时出现,就可能会引起堆栈异常

解决:找到依赖冲突发生位置,排除一个即可。

问题是 如何找到依赖冲突,参照网上办法:

https://blog.csdn.net/lwj_zeal/article/details/82755182

这里使用命令:

./gradlew :module:dependencies --configuration compile

但是 很多时候不能直接用gradlew,只能用本地gradle(我们公司是通过代理访问互联网,gradlew每次执行都需要访问网络,比较麻烦),参照 gradle 官方文档 https://docs.gradle.org/current/userguide/installation.html,了解更多gradle

所以,使用 本地gradle 命令即可,打印 指定module的 依赖关系,方便查看打印到文件

gradle -q dependencies netmonitor-computer:dependencies >> dependence.log

定位到 依赖冲突位置,

compile group: 'org.apache.hadoop', name: 'hadoop-common', version: hadoopVersion

增加 exclude即可

compile(group: 'org.apache.hadoop', name: 'hadoop-common', version: hadoopVersion)
            {
                exclude group: 'org.slf4j'
            }

 

posted @ 2019-01-14 21:55  A.ArmStrong  阅读(6163)  评论(0编辑  收藏  举报