Exception in thread "main" java.lang.NoClassDefFoundError錯誤資訊(轉帖)

tonykorn97發表於2013-07-13
1、你的檔名對嗎?
JAVA要求你的檔案和你的類名嚴格對應的。
比如 public class HelloWorld{ .....
那麼檔名一定只能是HelloWorld.java,看仔細了![@more@]



2、你的程式中有main方法嗎?引數什麼的對嗎?
main方法的宣告應該是這樣子的:
public static void main(String[] args)
事實上如果你用開發工具來做的話,是不會錯的。如果你用UltraEdit之類的來寫程式的話,就一個字不要改的照抄吧!

3、記住,javac後面跟的引數是檔名,但java 後面跟的是類名!這是我開始學JAVA是犯的錯,java HelloWorld.class,然後就報錯。後來才弄明白,應該是java HelloWorld。

犯的就是這個錯誤,自己先是看了環境變數的配置和其他的設定都是正確,就是報這個錯誤,最終發現原來java 後面跟的應該是類名,而不是檔名

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。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-1060716/,如需轉載,請註明出處,否則將追究法律責任。

相關文章