2010-01-08 78 views
36

我想知道什麼是JAVA_HOME。我在哪裏設置javac.exe和java.exe的路徑。它在環境變量中。當我從命令提示符編譯Java程序時,JVM如何找到javac.exe什麼是JAVA_HOME? JVM如何找到存儲在JAVA_HOME中的javac路徑?

+2

更清楚什麼是JAVA_HOME問題:http://stackoverflow.com/questions/5102022/what-do-java-home-environment-variable-do – 2015-01-09 15:27:29

回答

41

JVM沒有找到java.exe。它甚至不稱之爲。操作系統調用java.exe(本例中爲Windows)。

JAVA_HOME只是一個約定,通常由Tomcat,其他Java EE應用服務器和構建工具(如Gradle)來查找Java的存在位置。

從您的角度來看,重要的是在Java /bin目錄在您PATH所以Windows可以找到.exe工具與JDK船舶:javac.exejava.exejar.exe

+1

@Rajper我不認爲JAVA_HOME有助於查找JDK。它僅適用於JRE – Aman 2014-09-08 18:58:18

+2

否,它指向您安裝JDK或JRE的目錄。我的PATH中有JAVA_HOME/bin,所以我可以在JDK中執行.exe文件。錯誤。 – duffymo 2014-09-08 20:46:50

+1

JAVA_HOME基本上是JRE或JDK的根,而path是一個獨立的故事,它使您可以使用可執行文件。 – Max 2014-09-10 05:04:26

10

命令提示符不會使用JAVA_HOME來查找javac.exe,它會使用PATH。

1

JAVA_HOME是一個環境變量(在U​​nix術語中)或PATH變量(在Windows術語中)。許多運行良好的Java應用程序(需要JDK/JRE)才能運行,查找JAVA_HOME變量以查找可能找到Java編譯器/解釋器的位置。

14

組環境變量

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24 

classpath=C:\Program Files\Java\jdk1.6.0_24\lib\tools.jar 

path=C:\Program Files\Java\jdk1.6.0_24\bin 
-1

JAVA HOME裝置設置爲JAVA環境中。 這意味着你正在提供一個編譯JAVA程序的路徑,並且也運行相同的程序。 因此,如果您未設置JAVA HOME(PATH)並嘗試在命令提示符下運行該程序。 您將處理錯誤爲javac:未被識別爲內部或外部命令。

現在設置這個, 只需打開您的Java jdk,然後打開bin文件夾,然後複製該bin文件夾的路徑。

現在轉到我的電腦右鍵點擊---->選擇屬性----->選擇高級系統設置----->點擊環境變量------>選擇新建----->在變量名稱文本框中輸入一個名稱,然後在Value中粘貼路徑。

then 重新啓動 ...這就是全部!

+0

您的評論非常好,但爲什麼應該重新啓動機器?我認爲沒有必要重新啓動電腦。 – Aditzu 2016-02-03 09:50:17

+0

這是必需的,因爲有時它發生在更改沒有生效時,所以需要重新啓動才能使更改生效。 – 2017-01-01 09:53:35

+1

我從來沒有這個問題,但如果你說我會信任你:) – Aditzu 2017-01-03 13:30:57

4

JAVA_HOMEJRE_HOME不被Java本身使用。某些第三方程序(例如Apache Tomcat)希望將其中一個環境變量設置爲JDKJRE的安裝目錄。如果您沒有使用需要它們的軟件,則不需要設置JAVA_HOME和。 PATH是操作系統(Windows,Mac OS X,Linux)使用的環境變量,用於查找要運行的本機可執行程序。您應該將JDK安裝目錄的bin子目錄添加到PATH,以便您可以在命令提示符窗口中使用javacjava命令和其他JDK工具。禮貌coderanch

-1

JAVA_HOME是一個環境變量設置爲您的計算機上的Java目錄的位置。 PATH是一個內部DOS命令,用於查找您正在使用的Java版本的/ bin目錄。通常它們是相同的,除了PATH入口以/ bin結尾

-1

基本上JAVA_HOME用於設置java的路徑。它在Windows中使用。它用於多個軟件的設置路徑,如java EE,ANTMaven。 這是解決你的問題的步驟:

只對核心Java設置路徑: 路徑:"C:\Program Files\Java\jre1.8.0_77\bin" 但是當你建立像作爲ANT使用多,核心Java,那麼你在環境中使用JAVE_HOME

遵循的步驟:

JAVA_HOME"C:\Program Files\Java\jre1.8.0_77\bin" ANT_HOME"C:\ant\apache-ant-1.9.6"

路徑:JAVA_HOMEANT_HOME; 它是設置環境變量的系統的方法..

0

使用此命令/ usr/libexec目錄/ JAVA_HOME檢查JAVA_HOME

+1

老問題。更好的答案是在設置JAVA_HOME時指向Oracle [幫助頁面](https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/)。 – MikeJRamsey56 2016-10-23 02:12:11