回答:為什麼執行JAVA程式時,會出現Exception in threadmain java.lang.NoClassDefFoundError的錯?...
來源:互聯網
上載者:User
error|程式|執行 應該這樣檢查你的環境和你的操作:
1、你的檔案名稱對嗎?
JAVA要求你的檔案和你的類名嚴格對應的。
比如 public class HelloWorld{ .....
那麼檔案名稱一定只能是HelloWorld.java,看仔細了!
2、你的程式中有main方法嗎?參數什麼的對嗎?
main方法的聲明應該是這樣子的:
public static void main(String[] args)
事實上如果你用開發工具來做的話,是不會錯的。如果你用UltraEdit之類的來寫程式的話,就一個字不要改的照抄吧!
3、記住,javac後面跟的參數是檔案名稱,但java 後面跟的是類名!
這是我開始學JAVA是犯的錯,java HelloWorld.class,然後就報錯。後來才弄明白,應該是java HelloWorld。
4、設定了classpath了嗎?
不僅是在安裝JDK時要設定的內容,一般來說最好還要自己設定一個目錄來存放自己的類檔案的。比如d:\class目錄。
設定classpath=%classpath%;d:\class
那麼,現在將HelloWorld.class檔案COPY到d:\class目錄下,再java HelloWorld應該就OK了。
5、結合第3點和第4點
如果你的類是屬於某一個包的,比如這樣一個類sony.test.HelloWorld,那麼按照我在第4點中說的目錄來說,就應該將HelloWorld.class檔案存放到d:\class\sony\test\目錄下。
執行的時候應該參考第3點中說的,按類名執行:java sony.test.HelloWorld。
明白了嗎?一直我也想不出還會有什麼理由造成這個出錯資訊了!如果有哪位兄弟想到了就補充一下吧!
其實如果你使用了一些比較好的編程工具的話,根本就沒有機會碰到這個錯誤的,至少我在使用了VisualAge for Java之後,就沒有這樣的事情了。
好啦,不說了,祝同志們好運吧!
過了這第一道門,後面的就比較簡單啦!