[TOC]
0x00 场景
装了Java9,但是发现不少应用不支持,没办法,卸载。
0x01 探索
-
查看java版本
java --version
orjava -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
网友评论