什么是JAVA_HOME? JVM如何find存储在JAVA_HOME中的javacpath?

我想知道什么是JAVA_HOME。 我在哪里设置javac.exe和java.exe的path。 这是在环境variables。 当我从命令提示符编译Java程序时,JVM如何findjavac.exe

JVM没有findjava.exe 。 它甚至不叫它。 java.exe被操作系统调用(在这种情况下是Windows)。

JAVA_HOME只是一个约定,通常由Tomcat,其他Java EE应用程序服务器和构build工具(如Gradle来查找Java所在的位置。

从您的angular度来看,重要的是Java /bin目录位于PATH因此Windows可以find随JDK提供的.exe工具: javac.exejava.exejar.exe

设置环境variables

 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 

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

Java本身不使用JAVA_HOMEJRE_HOME 。 某些第三方程序(例如Apache Tomcat)希望将其中一个环境variables设置为JDKJRE的安装目录。 如果您不使用需要它们的软件,则不需要设置JAVA_HOMEJRE_HOMEPATH是操作系统(Windows,Mac OS X,Linux)使用的环境variables,它将查找本机可执行程序来运行。 您应该将JDK安装目录的bin子目录添加到PATH ,以便您可以在命令提示符窗口中使用javacjava命令以及其他JDK工具。 礼貌coderanch

JAVA_HOME是一个环境variables(在U​​nix术语中)或一个PATHvariables(在Windows术语中)。 许多运行良好的Java应用程序(需要JDK / JRE)才能运行,查找JAVA_HOMEvariables以查找可能findJava编译器/解释器的位置。

使用这个命令/ usr / libexec / java_home来检查JAVA_HOME

JAVA HOME意味着为JAVA设置环境。 这意味着你正在提供一个编译JAVA程序的path,也运行相同的程序。 因此,如果您不设置JAVA HOME(PATH),并尝试在命令提示符下运行该程序。 您将以javac处理错误:无法识别为内部或外部命令。

现在设置这个,只要打开你的Java jdk,然后打开bin文件夹,然后复制该bin文件夹的path。

现在进入我的电脑右键点击—->select属性—–>select高级系统设置—–>点击环境variables——>select新build—– >在“variables名称”文本框中input名称,然后将值粘贴到“值”中。

然后重新启动 …这就是全部!

JAVA_HOME是设置为计算机上Java目录位置的环境variables。 PATH是一个内部DOS命令,用于查找您正在使用的Java版本的/ bin目录。 通常它们是相同的,除了PATH条目以/ bin结尾

基本上JAVA_HOME是用来设置java的path。 它是在Windows中使用。 它被用于多个软件的设置path,如java EEANTMaven 。 这是解决你的问题的步骤:

只有核心的java才能设置path:path: "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"

path: JAVA_HOMEANT_HOME ; 这是设置环境variables的系统方法。