解决 MacOS BigSur JD-GUI 打开失败的问题

前言

JD-GUI 是一款轻量级的 Java 反编译工具,对于一些没有源码的 Jar 包,直接拖进去就可以反编译源码,十分的方便。

在 MacOS 还是 Mojave 的时候,JD-GUI 使用一切正常。

当系统升级到 BigSur 和 Monterey 的时候,打开 JD-GUI 就会提示找不到 JDK 环境。(即使你的电脑已经存在 JDK 环境并且配置了环境变量,依然会提示找不到 JDK 环境)

大致错误提示如下:

1
2
3
4
5
ERROR launching 'JD-GUI'

No suitable Java version found on your system!
This program requires Java 1.8+
Make sure you install the required Java version.

解决办法

起初,我第一感觉可能是新版的 MacOS 和老版本的 JD-GUI 不兼容导致的,然后在官网下载最新的 1.6.6 版本,安装后,依然报同样的错误信息。

这肯定不可能是我一个人遇到这个问题,于是我在官方仓库找到了这个问题 Update universalJavaApplicationStub to be able to launch on macOS Big Sur #336

我们需要替换 JD-GUI 程序文件里一个脚本文件,参考步骤如下:

  1. 先将下载下来的 jd-gui-osx-1.6.6.tar 解压,然后将 JD-GUI.app 文件拷贝到 Applications 目录下
  2. 右击 JD-GUI.app 点击显示包内容
    显示包内容
  3. Contents/MacOS/universalJavaApplicationStub.sh 文件的内容替换为 https://github.com/tofi86/universalJavaApplicationStub/blob/v3.2.0/src/universalJavaApplicationStub 中的内容,保存。
    universalJavaApplicationStub.sh

注意:确保本地已存在 Java 环境

此时,再次打开 JD-GUI.app,则可以正常运行了。

-------------本文结束  感谢您的阅读-------------
xkcoding wechat
欢迎来我的公众号「xkcoding小凯扣丁」逛逛
o(╯□╰)o 赞助一杯咖啡 ~~