首先:java.lang.NoClassDefFoundError是運行是錯誤,編譯的時候不報錯。這與java.lang.ClassNotfoundException是不同的。java
解決方法android
第一種,也是新手容易犯的錯誤,那就是classpath環境變量配置錯誤.這個錯誤在我最開始學習android的時候就遇到過,弄的焦頭爛額的.學習
解決辦法:ui
在系統環境變量那一欄中點->新建classpath。spa
變量名:classpath.net
變量值: .;%JAVA_HOME%/lib/;%JAVA_HOME%/jre/lib/orm
(注意,CLASSPATH最前面是有個「.」的,表示當前目錄,這樣當咱們運行javaAClass的時候,系統就會先在當前目錄尋找AClass文件了。)it
第二種,環境變量配置正確,但加載第三方包的時候會報錯,好比: java.lang.NoClassDefFoundError:com.ryong21.io.net.NetClientio
這種問題就比較麻煩,並且查的時候大部分都說是環境變量配置不正確,但明明是正確的啊,並且包也已經加載了,也已經Add to build path了,(若是不添加的話在編寫代碼的時候就會報錯)。但是仍是不行,寫代碼的時候沒有錯,運行的時候纔出現錯誤。編譯
解決辦法:
1.項目根目錄下新建一個libs文件夾
2.把要加的包放到這個目錄下
3.右鍵 Build Path-> Use as source folder
4.在jar包上右鍵->add to build path
(注意,上面的是libs,不是lib)