当前位置: 代码网 > it编程>编程语言>Java > idea如何反编译jar包

idea如何反编译jar包

2025年02月14日 Java 我要评论
idea反编译jar包最近遇到一个需求需要使用idea反编译jar包,idea实际是集成了反编译jar包的功能,现在是需要将一个大的jar包反编译并导出。1. 可以先查看idea是否有安装java b

idea反编译jar包

最近遇到一个需求需要使用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 等独立工具。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com