许多基于Java的应用程序都需要设置JAVA_HOME env变量。这个变量的目的是什么?
许多基于Java的应用程序都需要设置JAVA_HOME env变量。这个变量的目的是什么?
Answers:
环境变量是包含诸如驱动器,路径或文件名之类的信息的字符串。
将JAVA_HOME环境变量指向Java运行时环境(JRE)安装在您的计算机上的目录。
目的是指向Java的安装位置。$JAVA_HOME/bin/java
应该执行Java运行时。
当您运行Java程序时,需要首先启动JVM,通常是通过运行可执行文件来完成的,在Windows上是java.exe。您可以通过多种方式获得该信息,例如仅给出完整路径:
C:\somedir\bin\java.exe
或可能将其放在您的PATH上。
您可以将某些类文件或包含程序类的Jar文件指定为命令行参数。但这还不够,java.exe本身需要各种其他资源,尤其是所有Java库。通过设置环境变量JAVA_HOME,可以指定在何处找到JRE,从而找到所有那些运行时资源。您应确保执行的特定Java与JAVA_HOME的设置匹配。
您可能还需要JAVA_HOME\bin
尽早使用,这样,如果java.exe
生成自身的副本(例如,编译JSP),它将选择正确的版本。
environment
与进行混淆path
,这是不同的东西,但是在Windows中使用的方式与在Linux中完全相同。
JAVA_HOME
允许您运行多个Java安装中的任何一个。即使/usr/lib/jvm/java-1.8.0/bin/java
您首先在PATH中使用,也可以说JAVA_HOME=/usr/lib/jvm/java-1.5.0
并让默认的“ java”用来运行程序,而根据环境设置,它会使用另一个程序。即使程序员没有将其安装在正常的系统位置,这也可以使程序员使用所需的Java,并测试该替代版本或提供与该替代版本的反向兼容性。而且它也不容易被其他已安装程序在PATH中重置,例如Java本身的主要版本更新。