idea 反编译jar包

2 篇文章 0 订阅
1 篇文章 0 订阅

最近遇到一个需求需要使用idea反编译jar包,idea实际是集成了反编译jar包的功能,现在是需要将一个大的jar包反编译并导出。

1. 可以先查看idea是否有安装Java Bytecode Decompiler插件

没有安装可以到idea插件市场搜索进行安装,路径file->settings,在搜索框中输入plugins,不区分大小写,然后点击plugins,在右侧输入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 时出现 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
根据提示知道,需要反编译的jar包class file version 61.0,当前java运行环境versions up to 60.0,低版本不可以反编译高版本jar包,使用命令 java -version 查看当前jdk版本

从而推断  versions up to 60.0 对应jdk16,那么class file version 61.0应该对应jdk17。

下载安装jdk17,查看当前版本

再次执行反编译命令成功。

ps :

也可以使用其他反编译工具比如使用 Jad、JD-GUI 或 Procyon 等独立工具。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值