我有一種情況,我得到一個NoClassDefFoundError。由於沒有太多的資料,我100%肯定,類是存在的,我做了Eclipse調試器的一些詳細的測試:非常奇怪NoClassDefFoundError
- 啓動Java程序在調試模式下
- 當它停(地方) ,我檢查正在運行的線程的類路徑(在調試模式下)。 「missing」類的目錄就在那裏,而.class文件也在那裏。
在表達式窗口,我想補充兩個表達式:
一)新MyClass的() - >導致的NoClassDefFoundError
二)MyClass.class - >顯示類定義!?!?
- 我把一個斷點放在MyClass構造函數的第一行,它永遠不會停在那裏,所以構造函數永遠不會被調用......調用類的私有靜態最終字段從調試窗口工作...
這怎麼可能?我還用VisualVM窺視了這個過程,我可以看到「MyClass」定義。課堂上有什麼會導致這樣的錯誤?
我不能得到這種情況的一個小複製的例子,因爲我不知道是什麼原因導致它。類的單元測試可以實例化它,這種行爲只發生在一個集成的上下文中。
分享一些你得到這個錯誤的代碼。 – 11thdimension
如果在初始化類時發生故障,通常當我們在靜態塊中出現異常時,可能會發生這種情況,請檢查所有靜態塊 –
@NicolasFilotto,這正是原因......有一個調用Spring Bean一個靜態初始化器... – Martin