Skip to content
CodingDiary
返回

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

编辑页面
导读

MacOS 升级到 BigSur/Monterey 后,JD-GUI 打不开了?提示「No suitable Java version found」,明明装了 JDK 还报错?这是 JD-GUI 内置的 Java 检测脚本太老,不认识新版 MacOS 的问题。解决方法很简单:右键显示包内容,把 universalJavaApplicationStub.sh 替换成 GitHub 上的新版即可。三步搞定,继续愉快地反编译 Jar 包。

前言

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

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

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

大致错误提示如下:

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,则可以正常运行了。


编辑页面
分享到:

上一篇
折腾 Firecrawl:把网页变成 LLM 能吃的格式
下一篇
《Flink入门与实战》之读书笔记