?? 回答:為什么執(zhí)行java程序時(shí),會(huì)出現(xiàn)exception in threadmain java.lang.noclassdeffounderror的錯(cuò)?(太多人問了,煩!建議放入精華區(qū)!).txt
字號:
作者:sonymusic
email: sonymusic@china.com
日期:2001-2-15 13:29:54
應(yīng)該這樣檢查你的環(huán)境和你的操作:
1、你的文件名對嗎?
JAVA要求你的文件和你的類名嚴(yán)格對應(yīng)的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔細(xì)了!
2、你的程序中有main方法嗎?參數(shù)什么的對嗎?
main方法的聲明應(yīng)該是這樣子的:
public static void main(String[] args)
事實(shí)上如果你用開發(fā)工具來做的話,是不會(huì)錯(cuò)的。如果你用UltraEdit之類的來寫程序的話,就一個(gè)字不要改的照抄吧!
3、記住,javac后面跟的參數(shù)是文件名,但java 后面跟的是類名!
這是我開始學(xué)JAVA是犯的錯(cuò),java HelloWorld.class,然后就報(bào)錯(cuò)。后來才弄明白,應(yīng)該是java HelloWorld。
4、設(shè)置了classpath了嗎?
不僅是在安裝JDK時(shí)要設(shè)置的內(nèi)容,一般來說最好還要自己設(shè)置一個(gè)目錄來存放自己的類文件的。比如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)中說的目錄來說,就應(yīng)該將HelloWorld.class文件存放到d:\class\sony\test\目錄下。
執(zhí)行的時(shí)候應(yīng)該參考第3點(diǎn)中說的,按類名執(zhí)行:java sony.test.HelloWorld。
明白了嗎?一直我也想不出還會(huì)有什么理由造成這個(gè)出錯(cuò)信息了!如果有哪位兄弟想到了就補(bǔ)充一下吧!
其實(shí)如果你使用了一些比較好的編程工具的話,根本就沒有機(jī)會(huì)碰到這個(gè)錯(cuò)誤的,至少我在使用了VisualAge for Java之后,就沒有這樣的事情了。
好啦,不說了,祝同志們好運(yùn)吧!
過了這第一道門,后面的就比較簡單啦!
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -