我试图找出 java 使用哪个环境变量来查找/检测所使用的 JREC:\ProgramData\Oracle\Java\javapath\java.exe
.
根据 Oracle 的设计,我在C:\ProgramData\Oracle\Java\javapath\
are
java.exe
javaw.exe
javaws.exe
如果我设置我的JAVA_HOME
清空或某个随机文件夹,运行应用程序java.exe
仍然有效。所以我只能假设它没有使用JAVA_HOME
价值。那么它是如何找到JRE文件夹的呢?它默认为特定的东西吗?我没有JRE_HOME
var 设置任一。
截至 2018 年,特别是对于 Oracle Java,您可能会发现 Java 运行时是通过以下两种方式之一安装的:
里面有文件符号链接的常规目录
如果您查看中的文件C:\ProgramData\Oracle\Java\javapath\
您将看到它们实际上是特定 java 二进制文件的符号链接。
2015-11-13 06:11 PM <SYMLINK> java.exe [C:\Program Files\Java\jre1.8.0_65\bin\java.exe]
2015-11-13 06:11 PM <SYMLINK> javaw.exe [C:\Program Files\Java\jre1.8.0_65\bin\javaw.exe]
2015-11-13 06:11 PM <SYMLINK> javaws.exe [C:\Program Files\Java\jre1.8.0_65\bin\javaws.exe]
内部有常规文件的目录连接
使用最新(64!位)安装的 Java 8 实际上会预先添加到系统路径中another地点:c:\Program Files (x86)\Common Files\Oracle\Java\javapath
。
这次,javapath 本身就是连接点:
2018-07-21 05:59 PM <JUNCTION> javapath [C:\Program Files (x86)\Common Files\Oracle\Java\javapath_target_172906453]
2018-07-21 05:59 PM <DIR> javapath_target_172906453
而现在,有趣的是,java.exe
javapath_target_... 文件夹中的等不是符号链接。这些文件使用以下注册表位置查找 JRE 和 JDK 版本:
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.8"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8]
"JavaHome"="C:\\Program Files\\Java\\jre1.8.0_65"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)