java.lang.NoClassDefFoundError :問題分析及解決

今天遇到一個噁心的問題:在本地運行正常,但上傳服務器報錯,錯誤:java.lang.NoClassDefFoundError

先來看看NoClassDefFoundError和ClassNotFoundException這是兩個相似但完全不同兩個錯誤

NoClassDefFoundError和ClassNotFoundException區別 我們經常被java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError這兩個錯誤迷惑不清,儘管他們都與Java classpath有關,但是他們完全不同。NoClassDefFoundError發生在JVM在動態運行時,根據你提供的類名,在classpath中找到對應的類進行加載,但當它找不到這個類時,就發生了java.lang.NoClassDefFoundError的錯誤,而ClassNotFoundException是在編譯的時候在classpath中找不到對應的類而發生的錯誤。ClassNotFoundException比NoClassDefFoundError容易解決,是因爲在編譯時我們就知道錯誤發生,並且完全是由於環境的問題導致。而如果你在J2EE的環境下工作,並且得到NoClassDefFoundError的異常,而且對應的錯誤的類是確實存在的,這說明這個類對於類加載器來說,可能是不可見的。

我解決的方法:

第一步我先檢查了一下服務器上的包是否已存在,後查看存在

第二步,後經查是jar包版本過低導致的,我覺得出現這些個問題絕大部分要先查看jar包的版本,如果出現類似的問題,建議更換下高版本的jar包。

恍恍惚惚,一天過去了~~~

才疏學淺 ,請多指教 !

參考:https://blog.csdn.net/qq_40179546/article/details/82824252

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章