什么是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.exe
, java.exe
, jar.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_HOME
和JRE_HOME
。 某些第三方程序(例如Apache Tomcat)希望将其中一个环境variables设置为JDK
或JRE
的安装目录。 如果您不使用需要它们的软件,则不需要设置JAVA_HOME
和JRE_HOME
。 PATH
是操作系统(Windows,Mac OS X,Linux)使用的环境variables,它将查找本机可执行程序来运行。 您应该将JDK
安装目录的bin
子目录添加到PATH
,以便您可以在命令提示符窗口中使用javac
和java
命令以及其他JDK
工具。 礼貌 : coderanch
JAVA_HOME是一个环境variables(在Unix术语中)或一个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 EE
, ANT
和Maven
。 这是解决你的问题的步骤:
只有核心的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_HOME
, ANT_HOME
; 这是设置环境variables的系统方法。