我安装了多个版本的JDK,包括1.6、 1.7和1.8。
当我运行需要JRE的软件时, 我想知道会执行哪个版本的java.exe文件。我进行了一些测试,如下:
测试:
cmd.exe命令: echo %java_home%
输出: java version "1.8.0_31"
cmd.exe命令: java -version
输出: java version "1.8.0_31"
然后我在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8中检查注册表,并获得javaHome键值
结果: C:\Program Files\Java\jdk1.8.0_31
.
Java代码: System.out.println(System.getProperty("java.home"));
输出: C:\Program Files (x86)\Java\jdk1.7.0_15\jre
最后,我打开任务管理器,搜索java.exe进程并定位java.exe目录:
结果: C:\Program Files (x86)\Java\jdk1.7.0_15\bin
问题:
我不确定计算机选择哪个java.exe文件。你能帮忙吗?
java -version
报告的是这个版本。否则,启动JRE的程序(运行任何类)负责并且可能固定在1.7版本上。如果它是作为从资源管理器运行JNLP / JWS(例如)文件的结果启动的,则会查询适当的Shell Open注册表配置。 - user2864740