[macOS]macOS上卸载Java9 重装Java8

[TOC]

0x00 场景

装了Java9,但是发现不少应用不支持,没办法,卸载。

0x01 探索

  • 查看java版本

    java --version or java -version

  • 查看Java路径

    which java

    显示结果: /usr/bin/java。进入目录 /usr/bin/,定位到原始位置 /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands。想直接删除这个目录,提示没有权限,假加 sudo也不行。看了下貌似是系统目录,好吧。Java9 依然静静地躺在 某个 地方。

0x02 删除

网上找了很多地方,都是同样的三条删除命令,比如:

sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-9.jdk/
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

https://gist.github.com/schnell18/bcb9833f725be22f6acd01f94b486392

or

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane 
sudo rm -fr ~/Library/Application\ Support/Java

https://www.java.com/en/download/help/mac_uninstall_java.xml

如果你直接复制粘贴,不好意思,你依然删除不掉。其实关键点在 /Library/Java/JavaVirtualMachines/ 这个目录。打开这个目录,将你自己的Java9目录删除即可。

➜  JavaVirtualMachines pwd
/Library/Java/JavaVirtualMachines
➜  JavaVirtualMachines ls
jdk-9.0.1.jdk    jdk1.8.0_152.jdk
➜  JavaVirtualMachines rm -rf jdk-9.0.1.jdk/
➜  PreferencePanes pwd
/Library/PreferencePanes
➜  PreferencePanes ls
Flash Player.prefPane     JavaControlPanel.prefPane
➜  PreferencePanes
➜  Internet Plug-Ins pwd
/Library/Internet Plug-Ins
➜  Internet Plug-Ins ls
Disabled Plug-Ins       JavaAppletPlugin.plugin
Flash Player.plugin     flashplayer.xpt
➜  Internet Plug-Ins

删除完之后再下载Java8安装即可。

0x03 Other

中间遇到一个奇怪的问题,在Java9卸载前查看Java版本使用 java --version,比如这样:

➜  ~ java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
➜  ~

但是在卸载之后 java --version 就变成了这样:

➜  ~ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

最后没办法,换成这样即可:

➜  JavaVirtualMachines java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
➜  JavaVirtualMachines

你可能感兴趣的:([macOS]macOS上卸载Java9 重装Java8)