繁体   English   中英

为什么JVM在没有JAVA_HOME的情况下工作?

[英]Why JVM work when there is not JAVA_HOME?

$ env
...

当我尝试在 macOS 上打印我的 shell 环境时,我发现没有JAVA_HOME ,但我的 JVM 仍然有效。

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

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

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

JVM 不需要JAVA_HOME环境变量。 将它安装在/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk ,内部bin目录将添加到PATH环境变量中(或使用其他一些机制,如update-alternativesjava可执行文件放入系统PATH )。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM