一個項目最近出現下面的異常:
NoClassDefFoundError錯誤的發生,是因爲Java虛擬機在編譯時能找到合適的類,而在運行時不能找到合適的類導致的錯誤。
從上面異常堆棧可知道項目使用的是logback日誌框架。且在運行的時候發現找不到org.slf4j.MDC
這個類。我們知道logback
和log4j
如果同時引入的話,會出現一些很是怪異的問題。所以需要看下是否某個jar傳遞依賴引入log4j
的包。
需要下載一個idea的插件Maven Helper—— 解決maven衝突來分析pom依賴。
知識點:JAVA中的日誌slf4j從0到1(slf4j-log4j和logback出現多個綁定的異常)
因爲我們系統使用的是logback日誌框架,那麼通過Maven Helper
插件去分析是否引入了slf4j-log412.jar
這個依賴,如果引入了,則藉助Maven Helper
exclude掉這個依賴即可。