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' }