【问题标题】:What's the point of JAVA_HOME environment variable [duplicate]JAVA_HOME 环境变量有什么意义[重复]
【发布时间】:2016-02-01 13:38:13
【问题描述】:

当你唯一需要设置的是从命令行调用java的Path变量时,设置JAVA_HOME环境变量有什么意义,对吧?

【问题讨论】:

  • 如果这就是它的全部用途,那就没有什么意义了。其他程序使用它,尽管路径上的java 通常就足够了。
  • @PeterLawrey 除了能够通过命令行从任何目录调用可执行文件之外,这些路径和变量还有哪些其他用途?
  • 有些程序使用 JAVA_HOME 是它们的启动脚本,例如IntelliJ 可以。

标签: java windows path


【解决方案1】:

JAVA_HOME 只是一个约定,通常由 Tomcat 等 Java EE 应用服务器和 Gradle 等构建工具用于查找 Java 所在的位置。

你也可以使用 JAVA_HOME 来设置 PATH 变量,像这样..

%JAVA_HOME%\bin;

这样你就不必每次都干预PATH变量,如果你必须在两个JDK或两个不同版本的JRE之间切换

【讨论】:

    【解决方案2】:

    一些应用程序使用 JAVA_HOME 来执行/配置自己,而不是使用 PATH 中的 java 可执行文件:tomcat、maven、weblogic、eclipse 等...

    因此,正确设置此变量是个好主意。

    【讨论】:

    • 但这就是我的问题所在:如果这些应用程序可以在 PATH 中看到 java 有什么意义?如果 JAVA_HOME 和 PATH 指向同一个可执行文件?
    • @ShadyProgrammer 如果他们不这样做怎么办?我相信我的笔记本电脑上至少安装了两个 Java,如果我想切换使用哪一个而不弄乱 $PATH 怎么办?
    • 好的,我知道了 :) 谢谢
    • 就是这样。如果您有一些 Java 版本,JAVA_HOME 是一种从一个版本切换到另一个版本的简单方法。
    【解决方案3】:

    IMO 这是保存操作系统文件的 unix 事物。 Windows 完全不同。但由于 Java 是安装在 Windows 的程序文件中的,所以它也没有任何意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 2021-09-16
      • 1970-01-01
      • 2019-04-07
      相关资源
      最近更新 更多