原因: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' }