怎麼解決NoClassDefFoundError錯誤
NoClassDefFoundError的錯誤是因爲在運行時類加載器在classpath下找不到需要加載的類,所以我們需要把對應的類加載到classpath中,或者檢查爲什麼類在classpath中是不可用的,這個發生可能的原因如下:
- 對應的Class在java的classpath中不可用
- 你可能用jar命令運行你的程序,但類並沒有在jar文件的manifest文件中的classpath屬性中定義
- 可能程序的啓動腳本覆蓋了原來的classpath環境變量
- 因爲NoClassDefFoundError是java.lang.LinkageError的一個子類,所以可能由於程序依賴的原生的類庫不可用而導致
- 檢查日誌文件中是否有java.lang.ExceptionInInitializerError這樣的錯誤,NoClassDefFoundError有可能是由於靜態初始化失敗導致的
- 如果你工作在J2EE的環境,有多個不同的類加載器,也可能導致NoClassDefFoundError