2012-04-18 69 views
1

類路徑中,我發現我的JRE的位置是試圖設置在linux

/usr/local/jdk1.7.0_03/jre 

但存儲所有的類文件在哪裏?我應該如何設置課程路徑?

此外,具有空類路徑的Java仍然會在安裝期間使用的默認目錄中查找嗎?

啓動時罐子是否包含提前指定類路徑的元數據?

+0

*「可能導致這種情況?」*代碼和類路徑。投票結束。 – 2012-04-18 07:03:04

+1

我應該刪除這個問題嗎?我仍然想知道是否有任何默認位置搜索類路徑 – rubixibuc 2012-04-18 07:03:41

+0

我只是想給我的理由問這個,這不是我的完整問題 – rubixibuc 2012-04-18 07:04:56

回答

1

Java的痕跡幾個目錄找到一個program.This所需的類是搜索的順序:

1) <JDK/JRE>/lib 
2) <JDK/JRE>/lib/ext 
3) Current directory 
4) Additional jars or classes with -cp argument while compiling or executing. 

如果沒有找到任何這些目錄的話,那就只需通過ClassNotFoundException

Can jars when launched contain meta data that specifies the 
class path ahead of time? 

答:是的。編譯或構建jar時,可以傳遞幾個參數來標記主類,如果它是可執行jar以及環境的META-INF等。

請通過META-INF關於jar管理的信息鏈接。 META-INF Info in Java

+0

謝謝,所以第一步是硬編碼? – rubixibuc 2012-04-18 07:10:52

+0

是的,作爲java或javac可執行文件,它知道這兩條路徑是時間的頭。 – Phani 2012-04-18 07:13:10