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

來源:互聯網
上載者:User
error|程式|執行 應該這樣檢查你的環境和你的操作:

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

好啦,不說了,祝同志們好運吧!
過了這第一道門,後面的就比較簡單啦!

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。