2009-04-20 23 views
5

這是一個真正的noob問題。通過cmd行或GUI設置JAVA_HOME是否存在差異

當我設置JAVA_HOME使用命令行界面我用設置JAVA_HOME = C:\ Program Files文件\爪哇\ jdk1.6.0_13

然而,當我從系統>高級打開JAVA_HOME變量>環境變量的更改不可見。這兩個不同的設置?

我每次創建新的Jdk時都會有這個問題,並且從未完全理解爲什麼這兩個看起來不一樣。

回答

7

您在命令行上設置的變量爲,即命令外殼程序及其啓動的任何其他進程。當您從System/Advanced/Environment Variables中設置它時,它會在設置後影響您啓動的任何其他進程,包括命令shell。根據您設置的位置,它將可供同一用戶或任何其他登錄用戶使用。

+1

它隻影響由Explorer啓動的新進程(這是發生env更改的位置)。任何已經啓動的新程序(Launchy等)都會在舊環境中啓動它們。 – Herms 2009-04-20 17:06:42

3

通過命令行設置的JAVA_HOME僅爲該shell的會話設置。

3

對父進程所做的更改僅傳播給新創建的子進程;嘗試打開新的命令提示符並檢查其中的值。

2

別人說什麼... :-)

我會補充說,即使在對話框中設置變量之後,已經在運行過程(一般)不知道的變化,例如:在。命令提示符窗口仍將顯示舊值。您必須啓動另一個窗口才能看到更改。
在一些(罕見)情況下,您甚至可能需要註銷並重新登錄才能驗證更改(我最近再次看到該更改)。

相關問題