2013-01-10 145 views
0

我剛剛使用> javac -classpath src/foo src/foo/bar.java從命令行編譯了一個類,它工作正常。但是,當我嘗試運行> java -classpath bin/foo bin/foo/bar時,出現錯誤Error: Could not find or load main class bin/foo/bar。任何想法是什麼導致這個錯誤?Java編譯錯誤:無法找到或加載主文件

+0

.class文件實際位於該位置嗎? – Krease

回答

3

您需要提供類名,而不是文件名。所以,你想:

java -classpath bin foo.bar 

(或類似的東西它不是從你的樣品清楚你會如何結束了在bin目錄,而不是src的類文件,因爲你不使用-d的一部分的javac命令行...)

+0

啊,那是我愚蠢的錯誤。我之前使用過Eclipse,它會自動將'.class'文件放入'.bin'文件夾中。現在我已經手動將'.class'文件移動到'.bin'文件夾中,我該怎麼辦? –

+0

@Adam_G:按照答案中的說明 - 指定類文件層次結構的根目錄和完全限定的類名。請注意,類文件應位於與包層次結構相匹配的文件夾層次結構中(例如,如果類「bar」位於「x.y」包中,它應該位於文件夾「x/y」中)。 –

相關問題