为什么没有JAVA_HOME时JVM可以工作?

时间:2019-02-21 10:32:03

标签: java java-home

$ env
...

当我尝试在macOS上打印外壳环境时,发现没有JAVA_HOME,但是我的JVM仍然可以工作。

所以我很困惑,我只想了解当shell env中没有指示时JVM如何找到JDK的位置。

然后,我的JDK位置是/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk,如果我移出该文件夹,JVM将无法工作。

我知道这是没有用的,而且非常愚蠢。但是我只想完全了解它是如何工作的,请帮忙。

1 个答案:

答案 0 :(得分:2)

JVM不需要Response.Write(string.Join(",", colorList)); 环境变量。将其安装到JAVA_HOME后,会将内部/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk目录添加到bin环境变量中(或使用诸如PATH之类的其他机制来放置update-alternatives可在系统java中执行)。

通常这是需要JVM的第三方工具(例如Apache Maven或Tomcat),它们使用PATH环境变量来查找已安装的JVM。