回答:為什么執行JAVA程序時,會出現Exception in threadmain java.lang.NoClassDefFoundError的錯?...
發表時間:2023-08-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]應該這樣檢查你的環境和你的操作:1、你的文件名對嗎?JAVA要求你的文件和你的類名嚴格對應的。比如 public class HelloWorld .....那么文件名一定只能是HelloWorld...
應該這樣檢查你的環境和你的操作:
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之后,就沒有這樣的事情了。
好啦,不說了,祝同志們好運吧!
過了這第一道門,后面的就比較簡單啦!