首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MyEclipse 反編譯失敗「Cannot run program jad」終極解決:改用 JD-GUI / Fernflower / CFR

     編輯:程式設計綜合問答

錯誤原因

MyEclipse 內建舊版 JAD (1.5.8e, 2005 年) 僅支援 Java 1.3/1.4 字節碼,**完全不支援 Java 5+ (泛型、枚舉、Lambda、模塊化等)**。配置路徑指向不存在的 jad.exe 導致 `CreateProcess error=5` (拒絕存取)。

現代最佳替代工具 (任選一)

工具特點支援版本獲取方式
JD-GUI圖形界面、一鍵反編譯 Jar/Class、支援拖拽、語法高亮Java 1.0 ~ 21官網下載 (含 Windows/Mac/Linux)
Fernflower (IntelliJ 內建)IntelliJ IDEA 直接雙擊 .class 檔即可查看、最準確還原語法糖Java 1.0 ~ 21IntelliJ IDEA 免安裝
CFR命令行、批量反編譯整個 Jar、輸出可重新編譯源碼Java 6 ~ 21Maven: org.benf:cfr:0.152
Procyon對 Lambda/Method Reference 還原極佳Java 5 ~ 21Maven: com.strobel:procyon-decompiler:0.6.0

快速上手 JD-GUI (最推薦新手)

  1. 下載 jd-gui-1.6.6-min.jar (或 .exe/.dmg)
  2. 雙擊啟動 → Ctrl+O 打開目標 .class 或 .jar
  3. 左側樹狀瀏覽包/類,右側顯示反編譯源碼
  4. Ctrl+S 可另存為 Java 檔案

IntelliJ IDEA 內建反編譯 (零配置)

  • 專案視圖展開 External Libraries → JDK / Maven 依賴 → 雙擊任意 .class 即可查看 Fernflower 反編譯結果
  • 設定:Ctrl+Alt+S → Build, Execution, Deployment → Compiler → Java Compiler → Use compiler: Javac、Generate debug info 勾選

Eclipse/MyEclipse 集成 Fernflower (Enhanced Class Decompiler)

  1. Marketplace 搜尋 "Enhanced Class Decompiler" → Install
  2. 重啟後:F3 或 Ctrl+Shift+T 打開類 → 自動顯示反編譯源碼
  3. 偏好設定:Window → Preferences → Java → Class Decompiler → 選擇 Fernflower

批量導出源碼 (CFR 命令行)

# 反編譯整個 jar 到 src 目錄
java -jar cfr-0.152.jar mylib.jar --outputdir src --caseinsensitivefs true

總結

**棄用 JAD,擁抱 JD-GUI / Fernflower / CFR**。它們支援現代 Java 語法、維護活躍、零配置即用,徹底解決 MyEclipse 反編譯報錯問題。

jar包列表截圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved