程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 回答:為什麼執行JAVA程序時,會出現Exception in threadmain java.lang.NoClassDefFoundError的錯?

回答:為什麼執行JAVA程序時,會出現Exception in threadmain java.lang.NoClassDefFoundError的錯?

編輯:關於JAVA

應該這樣檢查你的環境和你的操作:

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之後,就沒有這樣的事情了。

好啦,不說了,祝同志們好運吧!

過了這第一道門,後面的就比較簡單啦!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved