2013-09-29 73 views
0

我在myhelloworld目錄中有一個簡單的MyHelloWorld.java文件。我通過在〜/ .bashrc文件中導出CLASSPATH ='[一些需要的類]'來將類路徑設置爲適當的目錄。我仍然需要使用javac MyHelloWorld.jaca -cp'上面的類路徑'來編譯.java文件。java類路徑和包問題

因此,這裏是我的第一個問題,爲什麼我還需要已經指定由具有給出的CLASSPATH一個-cp選項明確設置類路徑?

編譯完文件之後,我看不到像MyHelloWorld這樣的文件,但是java命令可以自動完成'java MyHelloWorld',但實際上目錄中沒有名爲MyHelloWorld的文件? (如果我輸入「java MyH」,命令可以自動完成)。

當我試圖執行的Java MyHelloWorld',它促使我有NoClassDefFoundError的,這是缺少庫的指標。然而,當我試圖做「-cp創建MyHello的Java」,該命令將無法完成自身,這表明它無法找到任何可執行文件都

那麼,什麼是上面混亂跡象的原因。任何人都可以從這裏拿走並向我解釋java如何處理classpath和包等,謝謝!

+0

「我在目錄myhelloworld中有一個簡單的MyHelloWorld.java文件」 - 類路徑應該包含**編譯的**類。 –

+0

要將.class文件生成到目錄中,則必須使用javac -d選項。 – Aubin

+0

@OliCharlesworth,很酷,但爲什麼我仍然需要在我的.bashrc文件中設置CLASSPATH時指定-cp選項 – Daniel

回答