NoClassDefFoundError

NoClassDefFoundError錯誤發(fā)生的原因

NoClassDefFoundError錯誤的發(fā)生赘阀,是因為Java虛擬機在編譯時能找到合適的類纤壁,而在運行時不能找到合適的類導致的錯誤。例如在運行時我們想調用某個類的方法或者訪問這個類的靜態(tài)成員的時候酌媒,發(fā)現(xiàn)這個類不可用,此時Java虛擬機就會拋出NoClassDefFoundError錯誤喇辽。與ClassNotFoundException的不同在于雨席,這個錯誤發(fā)生只在運行時需要加載對應的類不成功,而不是編譯時發(fā)生陡厘。

簡單總結就是,NoClassDefFoundError發(fā)生在編譯時對應的類可用云茸,而運行時在Java的classpath路徑中谤饭,對應的類不可用導致的錯誤懊纳。

NoClassDefFoundError和ClassNotFoundException區(qū)別

NoClassDefFoundError發(fā)生在JVM在動態(tài)運行時亡容,根據(jù)你提供的類名,在classpath中找到對應的類進行加載闺兢,但當它找不到這個類時,就發(fā)生了java.lang.NoClassDefFoundError的錯誤阱佛,而ClassNotFoundException是在編譯的時候在classpath中找不到對應的類而發(fā)生的錯誤戴而。ClassNotFoundException比NoClassDefFoundError容易解決翩蘸,是因為在編譯時我們就知道錯誤發(fā)生,并且完全是由于環(huán)境的問題導致催首。而如果你在J2EE的環(huán)境下工作郎任,并且得到NoClassDefFoundError的異常,而且對應的錯誤的類是確實存在的舶治,這說明這個類對于類加載器來說,可能是不可見的尺锚。


怎么解決NoClassDefFoundError錯誤

很明顯NoClassDefFoundError的錯誤是因為在運行時類加載器在classpath下找不到需要加載的類惜浅,所以我們需要把對應的類加載到classpath中,或者檢查為什么類在classpath中是不可用的坛悉,這個發(fā)生可能的原因如下:

1.對應的Class在java的classpath中不可用

你可能用jar命令運行你的程序,但類并沒有在jar文件的manifest文件中的classpath屬性中定義

2.可能程序的啟動腳本覆蓋了原來的classpath環(huán)境變量

因為NoClassDefFoundError是java.lang.LinkageError的一個子類挣轨,所以可能由于程序依賴的原生的類庫不可用而導致

3.檢查日志文件中是否有java.lang.ExceptionInInitializerError這樣的錯誤空民,NoClassDefFoundError有可能是由于靜態(tài)初始化失敗導致的

如果你工作在J2EE的環(huán)境羞迷,有多個不同的類加載器画饥,也可能導致NoClassDefFoundError

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市热鞍,隨后出現(xiàn)的幾起案子衔彻,更是在濱河造成了極大的恐慌,老刑警劉巖澄港,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柄沮,死亡現(xiàn)場離奇詭異,居然都是意外死亡狱意,警方通過查閱死者的電腦和手機拯欧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藏姐,“玉大人该贾,你說我怎么就攤上這事“忻恚” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵护姆,是天一觀的道長掏击。 經(jīng)常有香客問我,道長灯变,這世上最難降的妖魔是什么殴玛? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任滚粟,我火速辦了婚禮刃泌,結果婚禮上,老公的妹妹穿的比我還像新娘耙替。我一直安慰自己,他們只是感情好硝烂,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布铜幽。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厨诸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天绘趋,我揣著相機與錄音颗管,去河邊找鬼。 笑死帽馋,一個胖子當著我的面吹牛比吭,可吹牛的內容都是我干的。 我是一名探鬼主播衩藤,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼赏表,長吁一口氣:“原來是場噩夢啊……” “哼匈仗!你這毒婦竟也來了逢慌?” 一聲冷哼從身側響起悠轩,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哗蜈,失蹤者是張志新(化名)和其女友劉穎坠韩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體只搁,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡氢惋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了骚亿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熊赖。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖震鹉,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情迎膜,我是刑警寧澤浆兰,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站宽涌,受9級特大地震影響蝶棋,放射性物質發(fā)生泄漏卸亮。R本人自食惡果不足惜玩裙,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望局服。 院中可真熱鬧钻心,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坎穿,卻和暖如春返劲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背篮绿。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工亲配, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弃榨。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓梨睁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親官辈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容