JAVA_HOME 含义

标签 java environment-variables java-home

<分区>

为什么 ActiveMQ 提供者需要设置 JAVA_HOME env 变量 到 jdk 位置。
它使用该变量做什么?
如果它需要运行java命令和相关命令,为什么还要用JAVA_HOME呢。
如果正确设置了 PATH env 变量,则 java 命令始终可用。

还是我遗漏了一些要点?

编辑: 我不认为我的问题是重复的, 我要问的是关于该变量的非常精确的点,也与 $PATH env 变量和 ActiveMQ 相关。

最佳答案

JAVA_HOME 的实际原因是许多应用程序不仅需要在路径中查找可执行文件,一些 Java 应用程序还需要查找它们应该用作库的 jar 文件——请记住,可能不止安装了一个 java 安装,并且任何给定的应用程序可能需要一个特定的 java 版本,而不是路径上的版本。

考虑使用不在路径上的特定 java 版本的应用程序。您可以指定 java.exe 的路径,但如果应用程序需要以某种方式与它们交互而不只是使用它们,它如何知道它应该使用哪一组库?它可能可以从环境中计算出来,但可能不准确并且肯定会依赖于平台。

通常有不止一种方法可以设置为应用程序提供此信息,JAVA_HOME 就是其中一种,通常他们根本不需要它。

关于JAVA_HOME 含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830710/

相关文章:

java - Android获取当前时间戳?

spring-boot - 如何在Spring Boot中设置默认环境

java - 批处理文件 : "Environment Variable Not Defined"

windows - Windows7运行elasticsearch.bat找不到任何可执行的Java二进制文件。请在您的PATH中安装Java或设置JAVA_HOME

java - 我如何从java中的Youtube channel API v3获取所有上传的视频

java - 从互联网下载文件在 Java 上返回错误 400,在浏览器上工作正常

environment-variables - csh成语来检查环境变量是否存在?

java - Android Studio 错误 : "Environment variable does not point to a valid JVM installation"

ubuntu - 错误消息 : Installing OpenDaylight "java_home"

java - 动态获取当前方法名称的较短方法