明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

回答:為什么執(zhí)行JAVA程序時(shí),會(huì)出現(xiàn)Exception in threadmain java.lang.NoClassDefFoundError的錯(cuò)?...

[摘要]應(yīng)該這樣檢查你的環(huán)境和你的操作:1、你的文件名對(duì)嗎?JAVA要求你的文件和你的類名嚴(yán)格對(duì)應(yīng)的。比如 public class HelloWorld .....那么文件名一定只能是HelloWorld...
應(yīng)該這樣檢查你的環(huán)境和你的操作:

1、你的文件名對(duì)嗎?
JAVA要求你的文件和你的類名嚴(yán)格對(duì)應(yīng)的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔細(xì)了!

2、你的程序中有main方法嗎?參數(shù)什么的對(duì)嗎?
main方法的聲明應(yīng)該是這樣子的:
public static void main(String[] args)
事實(shí)上如果你用開(kāi)發(fā)工具來(lái)做的話,是不會(huì)錯(cuò)的。如果你用UltraEdit之類的來(lái)寫(xiě)程序的話,就一個(gè)字不要改的照抄吧!

3、記住,javac后面跟的參數(shù)是文件名,但java 后面跟的是類名!
這是我開(kāi)始學(xué)JAVA是犯的錯(cuò),java HelloWorld.class,然后就報(bào)錯(cuò)。后來(lái)才弄明白,應(yīng)該是java HelloWorld。

4、設(shè)置了classpath了嗎?
不僅是在安裝JDK時(shí)要設(shè)置的內(nèi)容,一般來(lái)說(shuō)最好還要自己設(shè)置一個(gè)目錄來(lái)存放自己的類文件的。比如d:\class目錄。
設(shè)置classpath=%classpath%;d:\class
那么,現(xiàn)在將HelloWorld.class文件COPY到d:\class目錄下,再java HelloWorld應(yīng)該就OK了。

5、結(jié)合第3點(diǎn)和第4點(diǎn)
如果你的類是屬于某一個(gè)包的,比如這樣一個(gè)類sony.test.HelloWorld,那么按照我在第4點(diǎn)中說(shuō)的目錄來(lái)說(shuō),就應(yīng)該將HelloWorld.class文件存放到d:\class\sony\test\目錄下。
執(zhí)行的時(shí)候應(yīng)該參考第3點(diǎn)中說(shuō)的,按類名執(zhí)行:java sony.test.HelloWorld。

明白了嗎?一直我也想不出還會(huì)有什么理由造成這個(gè)出錯(cuò)信息了!如果有哪位兄弟想到了就補(bǔ)充一下吧!
其實(shí)如果你使用了一些比較好的編程工具的話,根本就沒(méi)有機(jī)會(huì)碰到這個(gè)錯(cuò)誤的,至少我在使用了VisualAge for Java之后,就沒(méi)有這樣的事情了。

好啦,不說(shuō)了,祝同志們好運(yùn)吧!
過(guò)了這第一道門(mén),后面的就比較簡(jiǎn)單啦!