JAVA_HOME环境变量存在的原因是什么?

时间:2011-02-24 08:18:41

标签: java environment-variables java-home

许多基于java的应用程序需要设置JAVA_HOME env变量。这个变量的目的是什么?

7 个答案:

答案 0 :(得分:20)

环境变量是包含驱动器,路径或文件名等信息的字符串。

JAVA_HOME环境变量指向计算机上安装Java运行时环境(JRE)的目录。

答案 1 :(得分:16)

目的是指出Java的安装位置。 $JAVA_HOME/bin/java应该执行Java运行时。

答案 2 :(得分:7)

当您运行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)时,它会选择正确的版本。

答案 3 :(得分:5)

JAVA_HOME 环境变量

必须在不同的操作系统上进行设置。查看以下链接。

另请参阅here了解详情。

答案 4 :(得分:3)

根据@dirai here select x2.ID,x1.Date, if(x1.Variable='state',x1.value,null) as `State`, if(x1.Variable='Country',x1.value,null) as `Country`, if(x1.Variable='Pin Code',x1.value,null) as `PinCode` from Table2 x1 left join Table1 x2 on x2.ID=x1.ID where x2.ID in ('X1','X2') and x1.Variable_Name in ('state','Country','Pin Code') GROUP BY x2.ID; 并不是Java本身使用的,而是某些第三方工具(例如Apache Tomcat)使用的。但是,大多数应用程序都可以在未设置此变量的情况下运行,但是有些应用程序可能会显示意外行为。

答案 5 :(得分:2)

JAVA_HOME允许您运行多个Java安装中的任何一个。即使你的PATH中首先有/usr/lib/jvm/java-1.8.0/bin/java,但是能够说JAVA_HOME=/usr/lib/jvm/java-1.5.0并且使用默认的“java”来运行程序使用另一个程序是有用的,相反,作为一个问题,环境设置。这允许程序员使用他们需要的java,即使它没有安装在正常的系统位置,并测试或提供与该备用版本的反向兼容性。并且它不容易被另一个已安装的程序在PATH中重置,例如java本身的主要版本更新。

答案 6 :(得分:-1)

JAVA_HOME用于设置一个环境,使您能够在安装JDK(Java Development Kit)后在计算机或PC上运行java程序