2012-09-06 55 views
0

enter image description here我需要一些關於這方面的建議...我有一個程序可以作爲另一個系統的工具。我的程序的功能是監視數據庫並找到具有特定值的某些條目;當主系統遇到不能進一步處理條目的特定條件時,產生該值。當特定值被找到時,我的程序將驗證是否需要處理它的需求,並調用系統停止處理它的方法,以便它可以完成輸入。線程「timer-0」中的異常java.lang.NoClassDefFoundError

我的程序每次嘗試調用主系統的方法時都會遇到錯誤。命令提示符顯示此錯誤「線程中的異常」timer-0「java.lang.NoClassDefFoundError」

請記住主程序正在不斷運行。每次輸入完成後都會得到另一個條目。所以我的程序可能會調用主系統當前正在使用的方法。

我不知道如果錯誤是由於我的程序,沒有找到NoClassDefFoundError需要的方法,或者如果我的程序正在嘗試調用主程序當前正在使用的方法在線程「timer-0」中。

此外,主要和我的程序是不使用任何線程。

+1

NoClassDefFoundError通常指出正在報告的類的初始化過程中存在一些問題。 你能發佈完整的堆棧跟蹤嗎? –

+1

嘗試縮小問題範圍。計時器不應該與它有任何關係。嘗試在沒有計時器的情況下重現它。確保異常中的類位於類路徑中。尋找失敗的靜態初始化器。 –

+0

我發佈了上面的錯誤...謝謝! – ides

回答

4

A NoClassDefFoundError意味着您的程序正在嘗試加載不在其類路徑中的類(或嚴格地說,無法由類加載程序解析)。

如果這個從來沒有的作品,它可能只是你啓動它,而沒有在類路徑中包括一個必需的庫。

或者,我已經看到過這種情況,Java應用程序之間進行通信時,遠程應用程序的內部類傳遞給調用方,並且無法實例化。例如,遠程應用程序可能使用某種JDBC/ORM框架,該框架引發了SQLException的自定義子類。這個異常通過遠程調用冒泡並返回到本地應用程序,該應用程序無法實例化特定的子類。在後一種情況下,請查看遠程應用程序的日誌,以查看是否可以發現該問題。

在任何情況下,您應該可以通過將一些 class/JAR添加到您的類路徑中來解決此問題;確定究竟是哪一個可能只是一個挑戰。一個「廚房水槽」的方法可能會幫助你克服這個特定的問題,並看看底層的(如果有的話)是什麼。

+0

謝謝!看起來我的一個庫在服務器上已經損壞。一切工作後,我重新加載我的圖書館。 – ides

+0

非常感謝你Andrzej ..... – chopss

相關問題