前言
JD-GUI 是一款轻量级的 Java 反编译工具,对于一些没有源码的 Jar 包,直接拖进去就可以反编译源码,十分的方便。
在 MacOS 还是 Mojave 的时候,JD-GUI 使用一切正常。
当系统升级到 BigSur 和 Monterey 的时候,打开 JD-GUI 就会提示找不到 JDK 环境。(即使你的电脑已经存在 JDK 环境并且配置了环境变量,依然会提示找不到 JDK 环境)
大致错误提示如下:
1 | ERROR launching 'JD-GUI' |
解决办法
起初,我第一感觉可能是新版的 MacOS 和老版本的 JD-GUI 不兼容导致的,然后在官网下载最新的 1.6.6
版本,安装后,依然报同样的错误信息。
这肯定不可能是我一个人遇到这个问题,于是我在官方仓库找到了这个问题 Update universalJavaApplicationStub to be able to launch on macOS Big Sur #336
我们需要替换 JD-GUI 程序文件里一个脚本文件,参考步骤如下:
- 先将下载下来的
jd-gui-osx-1.6.6.tar
解压,然后将JD-GUI.app
文件拷贝到Applications
目录下 - 右击
JD-GUI.app
点击显示包内容
- 将
Contents/MacOS/universalJavaApplicationStub.sh
文件的内容替换为 https://github.com/tofi86/universalJavaApplicationStub/blob/v3.2.0/src/universalJavaApplicationStub 中的内容,保存。
注意:确保本地已存在 Java 环境
此时,再次打开 JD-GUI.app
,则可以正常运行了。