我只是遇到了这个问题(Windows 7上的Java 1.8与Java 9),我的发现是:
精简版
默认似乎是(由于路径条目)
c:\ProgramData\Oracle\Java\javapath\java -version
选择所需的版本(测试,使用cmd中的制表符完成,不确定这些数字代表什么),我有2个选项,有关详细信息,请参见较长的版本
c:\ProgramData\Oracle\Java\javapath_target_[tab]
删除结点/链接并链接到您的版本(在我的情况下,对于Java 8以181743567结尾)
rmdir javapath
mklink /D javapath javapath_target_181743567
较长的版本:
Java 9无法正常工作后,请重新安装Java 1.8。 安装顺序为jdk1.8.0_74,jdk-9.0.4,并尝试使用jdk1.8.0_162使Java 8默认。
安装jdk1.8.0_162之后,我仍然有
java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
我在路上看到的是
Path=...;C:\ProgramData\Oracle\Java\javapath;...
所以我检查了那是什么,发现它是一个结点(链接)
c:\ProgramData\Oracle\Java>dir
Volume in drive C is OSDisk
Volume Serial Number is DA2F-C2CC
Directory of c:\ProgramData\Oracle\Java
2018-02-07 17:06
2018-02-07 17:06
2018-02-08 17:08
2017-08-22 11:04
2018-02-08 17:08
2018-02-07 17:06 javapath [C:\ProgramData\Oracle\Java\javapath_target_185258831]
2018-02-07 17:06
2018-02-07 17:06
那些哈希值不响,但是当我检查
c:\ProgramData\Oracle\Java\javapath_target_181743567>.\java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
c:\ProgramData\Oracle\Java\javapath_target_185258831>.\java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
因此,要再次将Java 8设为默认设置,我必须按照此处所述删除链接
rmdir javapath
并用我想要的Java重新创建
mklink /D javapath javapath_target_181743567
经过测试:
c:\ProgramData\Oracle\Java>java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
**更新(Java 10)**
与Java 10相似,只有javapath位于c:\ Program Files(x86)\ Common Files \ Oracle \ Java \中,这很奇怪,因为我安装了64位IMHO
.\java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)