idea如何反編譯jar包
idea反編譯jar包
最近遇到一個需求需要使用idea反編譯jar包,idea實際是集成了反編譯jar包的功能,現(xiàn)在是需要將一個大的jar包反編譯并導(dǎo)出。
1. 可以先查看idea是否有安裝
Java Bytecode Decompiler插件
沒有安裝可以到idea插件市場搜索進行安裝,路徑file->settings,在搜索框中輸入plugins,不區(qū)分大小寫,然后點擊plugins,在右側(cè)輸入java bytecode decompiler進行安裝即可。
2. 接下來可以使用命令反編譯jar包
java -cp "D:\Program Files\idea\ideaIU2024\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true "D:\project\jar\target\test.jar" -o "D:\project\jar\target\temp\"
注意雙引號不可以少,第一個目錄是idea安裝路徑找到plugins目錄下的java-decompiler\lib\java-decompiler.jar包,第二個目錄是需要反編譯的jar包,第三個是反編譯jar包之后輸出的目錄。
3. 一下是反編譯過程遇到的問題
錯誤: 加載主類 org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler 時出現(xiàn) LinkageError
java.lang.UnsupportedClassVersionError: org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 60.0
根據(jù)提示知道,需要反編譯的jar包class file version 61.0,當(dāng)前java運行環(huán)境versions up to 60.0,低版本不可以反編譯高版本jar包,使用命令 java -version 查看當(dāng)前jdk版本
從而推斷 versions up to 60.0 對應(yīng)jdk16,那么class file version 61.0應(yīng)該對應(yīng)jdk17。
下載安裝jdk17,查看當(dāng)前版本
再次執(zhí)行反編譯命令成功。
ps :
也可以使用其他反編譯工具比如使用 Jad、JD-GUI 或 Procyon 等獨立工具。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Java中如何實現(xiàn)文件的讀寫操作
在Java中,可以使用File和FileInputStream、FileOutputStream、BufferedReader、PrintWriter等類來進行文件讀寫操作,需要的朋友可以參考下2023-05-05Java HttpServletResponse響應(yīng)實現(xiàn)過程詳解
這篇文章主要介紹了Java HttpServletResponse響應(yīng)實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05我從jdk1.8升級到j(luò)dk11所遇到的坑都有這些
這篇文章主要介紹了從jdk1.8升級到j(luò)dk11將會遇到的一些坑,本文給大家分享解決方案對大家的學(xué)習(xí)或工作具有參考借鑒價值,對jdk1.8升級到j(luò)dk11相關(guān)知識感興趣的朋友,快來看看吧2021-08-08IDEA插件Statistic統(tǒng)計代碼快速分辨爛項目
這篇文章主要為大家介紹了使用IDEA插件Statistic來統(tǒng)計項目代碼,幫助大家快速識別出爛項目,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01Java 創(chuàng)建兩個線程模擬對話并交替輸出實現(xiàn)解析
這篇文章主要介紹了Java 創(chuàng)建兩個線程模擬對話并交替輸出實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10IDEA Error:java: 無效的源發(fā)行版: 17錯誤
本文主要介紹了IDEA Error:java: 無效的源發(fā)行版: 17錯誤,這個錯誤是因為您的IDEA編譯器不支持Java 17版本,您需要更新您的IDEA編譯器或者將您的Java版本降級到IDEA支持的版本,本文就來詳細的介紹一下2023-08-08