我安装了以下版本的 Java
rahul@doctor ~ % java --version
openjdk 19.0.1 2022-10-18
OpenJDK Runtime Environment (build 19.0.1+10-21)
OpenJDK 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
安装java的地方
rahul@doctor ~ % which java
/usr/bin/java
rahul@doctor ~ %
当尝试删除 java 文件时
rahul@doctor ~ % sudo rm -rf /usr/bin/java
rm: /usr/bin/java: Operation not permitted
当以 root 身份尝试时
rahul@doctor ~ % sudo su
sh-3.2# sudo rm -rf /usr/bin/java
rm: /usr/bin/java: Operation not permitted
当尝试使用 brew 删除 java
rahul@doctor ~ % brew uninstall openjdk
Error: No such keg: /opt/homebrew/Cellar/openjdk
rahul@doctor ~ % brew uninstall openjdk19
Error: No available formula with the name "openjdk19". Did you mean openjdk, openjdk@11, openjdk@17, openj9 or openjdk@8?
rahul@doctor ~ % brew uninstall openjdk@19
Error: No such keg: /opt/homebrew/Cellar/openjdk@19
在浏览其他问题时,有提到删除/Library/Java/JavaVirtualMachines
,但它并不存在于我的系统中。
rahul@doctor ~ % ls sudo rm -rf /Library/Java/JavaVirtualMachines
ls: -rf: No such file or directory
ls: rm: No such file or directory
ls: sudo: No such file or directory
/Library/Java/JavaVirtualMachines:
答案1
/usr/bin/
(例如)中的二进制文件/usr/bin/java
随 macOS 一起提供,而不是通过 homebrew 安装。它们位于操作系统的分区上,该分区以只读方式挂载。由于它们在安装 Java 之前就在那里,所以我不会费心删除它们。您只需删除已安装的 JDK 并保留这些二进制文件即可。
如果你确实想删除它们,请结帐https://stackoverflow.com/questions/57440334/sip-is-disabled-but-usr-bin-is-write-protected-anyway-macos-catalina-beta-10/59395264#59395264禁用 SIP 并将根挂载为可写。
对于卸载,要确定 JDK 的安装位置,也许可以尝试使用/usr/libexec/java_home
。