1. 程式人生 > >java.lang.NoClassDefFoundError錯誤產生的原因及解決方案

java.lang.NoClassDefFoundError錯誤產生的原因及解決方案

應用程式跑的時候,出現了java.lang.NoClassDefFoundError: Could not initialize classUtils.JdbcUtils。第一個想法就是:是不是在呼叫工具類的地方出現了問題。

找到呼叫此類的地方發現沒有任何問題。然後就把上圖程式碼改成了下圖程式碼,執行沒有任何問題。


然後,回頭去看出錯的程式碼,在看到自己的註釋瞬間明白自己犯了個低階錯誤。在使用pro.getProperty("driver")或的驅動的時候,需要先讀取db.properties檔案裡的

資源,然後在載入驅動。正確如下:


NoClassDefFoundError錯誤發生的原因如下幾種:

1.db.properties不在classes檔案下 2.檢查日誌檔案中是否有java.lang.ExceptionInInitializerError這樣的錯誤,NoClassDefFoundError有可能是由於靜態初始化失敗導致的錯誤。 3.像我一樣程式碼順序問題。

參考:http://blog.csdn.net/jamesjxin/article/details/46606307