如何在 Mac 上卸载 NetBeans
NetBeans 会把运行时设置和安装的模块放进 userdir。若你实际使用过 IDE,先在 NetBeans 中确定自己的 userdir,把配置复制出来;项目留在各自目录。这次只解开安装包的 Payload,没有运行安装器,也没有建立有内容的 userdir。
这次只提取了官网 pkg 的 Payload,没有运行安装器;Homebrew 的安装渠道另见下文。
退出并移除应用
退出 Apache NetBeans。若用官方 pkg 安装,退出后把「应用程序」中的 Apache NetBeans.app 移到废纸篓,再单独核对 userdir。这样不能证明安装器写在应用之外的内容也已移除。不要因为 IDE 不在了,就删除 JDK、NetBeans 项目或整套 Java 工具目录。
核对本机数据
下面的路径来自当前 Homebrew cask。在访达用「前往 › 前往文件夹」查看,不要删除它的上层目录或同厂其他产品的数据。
| 位置 | 如何处理 |
|---|---|
~/Library/Application Support/NetBeans |
当前 cask zap 列出的路径,Payload 实测时也移除了此目录;有实际 IDE 设置时先查看。 |
测试包的 bundle ID 是 org.apache.netbeans。只检查本机实际出现的文件,路径不存在就不用处理。
核对卸载结果
退出应用后,运行下面两条只读命令:
pgrep -il 'NetBeans'
ls -d "$HOME/Library/Application Support/NetBeans"
pgrep 没有输出,只说明当前没有同名进程,不代表所有辅助组件都已移除;若列出进程,先确认归属。ls 打印路径说明这一项仍在,应查看内容;提示「No such file or directory」说明这一处不存在,权限错误则表示这次没能查清。
用 Homebrew 安装时
当前 netbeans cask 的 zap 清单包含 NetBeans 的 Application Support 和 Caches 目录。自己运行带 --zap 的 brew 卸载,会照 cask 清单处理这些文件,不读取 Mole 里的勾选。备份后用不带 --zap 的命令卸载 cask:
brew uninstall --cask netbeans
Mole 会按勾选状态、其他已安装应用和受保护位置核对 zap 清单;未勾选、共用或无法确认的路径会使它跳过 --zap,已勾选的残留仍由 Mole 自己的流程处理。这次实测没有使用 Homebrew。
Mole 会列出什么
Mole 会把 Application Support/NetBeans 列为按应用名匹配的审查行,默认不勾选;精确 bundle ID 偏好设置可默认勾选。项目、另设位置的 userdir 和 JDK 不会由应用图标推断归属。pkg 的收据及安装脚本产生的内容要单独核对。
这次检查覆盖了什么
2026 年 9 月 21 日只解开 Apache NetBeans 30 pkg 的 Payload,审查后移除了应用、Application Support/NetBeans 和 Caches/NetBeans。安装器没有运行,因此未覆盖安装脚本、收据、IDE 的实际运行、~/.netbeans 或 JDK。
