我已經編寫了一個Java類,它實現了在另一個目錄中指定的接口。我編譯應用程序是這樣的:在編譯時在類路徑上找到類,但在運行時找不到類
javac ArrayQueue.java -cp QueueArray
類ArrayQueue
實現接口Queue
目錄QueueArray
。如果沒有指定的類路徑,編譯器會按預期拋出錯誤。
然而,運行程序後,該程序時,它不能再找到類:
java ArrayQueue -cp QueueArray
Exception in thread "main" java.lang.NoClassDefFoundError: Queue
什麼可能會導致這?
編輯:程序工作正常,如果我的.class
文件複製到同一目錄ArrayQueue.class
。
目錄結構和包聲明? – Thihara 2013-03-11 10:05:12
您是否檢查過.class文件是否存在?您將在運行時需要.class文件。 – 2013-03-11 10:06:34
@Thihara所有的類都在默認包中,其中main的文件是'ArrayQueue.java',而使用的類是'QueueArray/Queue.java'相對於主文件。 – Overv 2013-03-11 10:06:55