2017-05-30 102 views
0

我不相信自己爲什麼我們需要設置java路徑來運行它的應用程序只在環境變量中,爲什麼不能在另一個地方?請澄清我的疑惑。主要是什麼意思的環境變量?爲什麼只需要在環境變量中爲JDK設置路徑和CLASSPATH?

+1

。使用'-cp'選項代替'java'命令。 –

+0

「環境變量」是操作系統shell中的一個標準術語,應該已經很熟悉了。如果不是,請使用您最喜愛的搜索引擎或圖書館卡片。 –

回答

0

其實CLASSPATH只是一個約定。只有知道它的路徑才能加載任何類。如果您不想使用CLASSPATH,則可以使用任何其他方法獲取路徑(例如:參數,屬性等)並手動加載您的類。

但是,CLASSPATH是一種以分離方式做事情的方式。

隨着Docker等容器的廣泛使用,我們可能會面臨更少的問題,比如我們使用這個CLASSPATH時可能出現的班級重複性問題。

+0

設置CLASSPATH環境變量通常不是最優的。 –

+0

是的,我完全同意你的看法。但是,許多程序(如IDE)都使用此資源。 –

+0

除非被覆蓋,否則所有Java程序都會遵守CLASSPATH環境變量。不僅僅是很多,而是全部。 –

0

您不需要設置PATH或CLASSPATH。

設置PATH只是爲了讓它更容易運行java命令。您始終可以使用完全限定名稱來運行它,在這種情況下,不需要PATH。

設置CLASSPATH從不需要,但有時比使用-cp選項更容易。如果使用-jar運行,則完全不使用CLASSPATH,並且如果不使用-jar,CLASSPATH默認爲當前目錄,所以如果您的代碼存在(即您的包層次結構根源於此),則不是需要。不鼓勵使用`CLASSPATH`環境變量的

+1

「所以如果你的代碼在那裏」=>「,所以如果你的包層次結構根源於」 –

相關問題