JDK 安装包可以在 https://www.oracle.com/java/technologies/javase-jdk13-downloads.html 找到。
以 MacOS 10.15 为例,在 Mac 上以 dmg 安装包安装的 JDK,会安装在/Library/Java/JavaVirtualMachines
目录下。
比如先后安装了 JDK 8,JDK 13 ,会有两个目录:
$ ls /Library/Java/JavaVirtualMachines
jdk-13.0.2.jdk jdk1.8.0_161.jdk
因为后安装的 JDK 13,所以/usr/bin/java
指向的是 java 13 的版本。
以卸载 jdk1.8.0_161.jdk
为例, 按照https://java.com/zh_CN/download/help/mac_uninstall_java.xml 的说法执行下面的命令即可:
$ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
$ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
$ sudo rm -fr ~/Library/Application\ Support/Oracle/Java
执行完之后,java 命令无法执行:
$ java -version
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working directory.
at jdk.internal.util.SystemProps$Raw.platformProperties(java.base/Native Method)
at jdk.internal.util.SystemProps$Raw.<init>(java.base/SystemProps.java:233)
at jdk.internal.util.SystemProps.initProperties(java.base/SystemProps.java:54)
at java.lang.System.initPhase1(java.base/System.java:2004)
而且 /Library/Java/JavaVirtualMachines/
下面的两个版本的jdk目录都还存在。
所以,删除/Library/Java/JavaVirtualMachines/
下面所有内容,然后重装 JDK 13。
如果需要完全清理的话,/System/Library/Frameworks/JavaVM.framework/
目录看起来也要删除。/usr/bin
下的无效软链接命令也要删除。