idea如何反編譯jar包
idea反編譯jar包
最近遇到一個(gè)需求需要使用idea反編譯jar包,idea實(shí)際是集成了反編譯jar包的功能,現(xiàn)在是需要將一個(gè)大的jar包反編譯并導(dǎo)出。
1. 可以先查看idea是否有安裝
Java Bytecode Decompiler插件

沒有安裝可以到idea插件市場(chǎng)搜索進(jìn)行安裝,路徑file->settings,在搜索框中輸入plugins,不區(qū)分大小寫,然后點(diǎn)擊plugins,在右側(cè)輸入java bytecode decompiler進(jìn)行安裝即可。

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\"
注意雙引號(hào)不可以少,第一個(gè)目錄是idea安裝路徑找到plugins目錄下的java-decompiler\lib\java-decompiler.jar包,第二個(gè)目錄是需要反編譯的jar包,第三個(gè)是反編譯jar包之后輸出的目錄。
3. 一下是反編譯過程遇到的問題
錯(cuò)誤: 加載主類 org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler 時(shí)出現(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包c(diǎn)lass file version 61.0,當(dāng)前java運(yùn)行環(huán)境versions up to 60.0,低版本不可以反編譯高版本jar包,使用命令 java -version 查看當(dāng)前jdk版本

從而推斷 versions up to 60.0 對(duì)應(yīng)jdk16,那么class file version 61.0應(yīng)該對(duì)應(yīng)jdk17。
下載安裝jdk17,查看當(dāng)前版本

再次執(zhí)行反編譯命令成功。
ps :
也可以使用其他反編譯工具比如使用 Jad、JD-GUI 或 Procyon 等獨(dú)立工具。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于IDEA關(guān)聯(lián)數(shù)據(jù)庫的問題
這篇文章主要介紹了IDEA關(guān)聯(lián)數(shù)據(jù)庫的相關(guān)知識(shí),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
如何利用Spring把元素解析成BeanDefinition對(duì)象
這篇文章主要介紹了如何利用Spring把元素解析成BeanDefinition對(duì)象,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
Java System類從基礎(chǔ)到實(shí)戰(zhàn)的進(jìn)階指南
Java System類是Java與操作系統(tǒng)交互的核心,提供流操作、數(shù)組復(fù)制、時(shí)間處理等基礎(chǔ)功能,JDK8優(yōu)化性能并引入高精度時(shí)間API,實(shí)戰(zhàn)中需注意避免濫用gc()和currentTimeMillis(),本文將從版本演進(jìn)到實(shí)戰(zhàn)應(yīng)用,全面剖析System類的奧秘,感興趣的朋友一起看看吧2025-07-07
Java中Mybatis,SpringMVC,Spring的介紹及聯(lián)系
這篇文章主要為大家詳細(xì)介紹了Java中Mybatis,SpringMVC,Spring的介紹及聯(lián)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

