網上都說了很多有關classpath問題的情況,這裏就不說了.
說一下其他情況:
1.編譯成功,運行失敗,
Exception in thread "main" java.lang.NoClassDefFoundError:
這種情況是你可以看下是不是該類用了package, 例如 package test.TestJava
其中...src\test\TestJava.java這樣的目錄,你可以退回到src目錄中再重新運行,其中運行的時候記得加上包名,並且分隔符是點號例如
..\src> java test.TestJava
這樣的話運行就可能成功,
可能的錯誤情況:
1.沒有加包名,這樣的話因爲java解釋器是根據當前目錄(如果添加了.; 的classpath)開始爲根目錄然後再想後找的.你想一下如果你用了package
那麼對於解釋器只會認爲這個類在...src\test\test\TestJava.java中,
但是如果你退回到上個目錄,那麼就會根據你當前目錄來判定,這樣就正確了.
2.classpath等配置錯誤:網上大把自己加
3...\src> java test\TestJava吧點號變成斜槓.因爲是用解釋器所以要用點的形式不是斜槓文件形式
可能還有其他情況,不過我遇到的就是這種情況,其實在Thinking In Java中的第五章有講Java解釋器的路徑查找情況