许多基于 java 的应用程序需要设置 JAVA_HOME 环境变量。这个变量的目的是什么?
6 回答
目的是指出 Java 的安装位置。$JAVA_HOME/bin/java
应该执行 Java 运行时。
环境变量是包含驱动器、路径或文件名等信息的字符串。
JAVA_HOME 环境变量指向您计算机上安装 Java 运行时环境 (JRE) 的目录。
当您运行 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),它会选择正确的版本。
根据@dirai ,这里 JAVA_HOME
不是由Java本身使用,而是由一些第三方工具使用,例如Apache Tomcat。然而,大多数应用程序都可以在没有设置此变量的情况下工作,但有些应用程序可能会出现意外行为。
JAVA_HOME
允许您运行多个 java 安装中的任何一个。即使您/usr/lib/jvm/java-1.8.0/bin/java
首先在 PATH 中使用了 PATH,但作为环境设置的问题,能够说JAVA_HOME=/usr/lib/jvm/java-1.5.0
并让运行程序的默认“java”使用另一个是很有用的。这允许程序员使用他们需要的 java,即使它没有安装在正常的系统位置,并测试或提供与该替代版本的反向兼容性。并且它不容易被另一个安装的程序在 PATH 中重置,例如 java 本身的主要版本更新。