【发布时间】:2018-07-08 23:05:32
【问题描述】:
我已经在系统环境的路径变量中设置了 JAVA 路径,但没有定义 JAVA_HOME 变量,但我仍然能够执行我的 JAVA 程序,为什么会发生这种情况,在定义 JAVA 路径时不需要 JAVA_HOME 变量吗?
【问题讨论】:
标签: java environment-variables
我已经在系统环境的路径变量中设置了 JAVA 路径,但没有定义 JAVA_HOME 变量,但我仍然能够执行我的 JAVA 程序,为什么会发生这种情况,在定义 JAVA 路径时不需要 JAVA_HOME 变量吗?
【问题讨论】:
标签: java environment-variables
对于 Java 本身,不需要这样的变量。它所关心的只是其\bin 文件夹的路径在PATH 上。当您想通过调用java 在控制台上执行 Java 时就是这种情况。
否则,正如@CarlosHeuberger 所提到的,如果您通过绝对路径调用它,您甚至不需要PATH 变量中的java 可执行文件的路径。
我认为其他系统依赖于名为 JAVA_HOME 的变量的存在,例如 Tomcat 或 Gradle,以便它们知道 Java 所在的位置。
虽然有一个显式的JAVA_HOME 变量是有好处的。更新/升级您的 Java 版本后,您只需将该变量指向新的安装文件夹,而无需触摸 PATH。
【讨论】:
PATH 无关紧要 - 它可以使用 C:\Program files\Java\jre\bin\java.exe 中的完整路径启动。需要PATH的是操作系统。