Idea 反编译jar包

实际项目中,有时候会需要更改jar包源码来达到业务需求,本文章将介绍一下如何通过Idea来进行jar反编译

1、Idea安装decompiler插件

2、找到decompiler插件文件夹

decompiler插件文件夹路径为:idea安装路径/plugins/java-decompiler/lib

3、进入到decompiler插件文件夹下,执行反编译命令

  1. 新建个文件夹(用于存放反编译后的文件)

  2. 将要反编译的jar放到decompiler插件文件夹

  3. 在decompiler插件文件夹执行cmd命令

  4. 执行反编译命令

    java -cp "{java-decompiler.jar的路径}" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true {需要反编译的jar} {存放反编译后的文件地址}

    例子:
    java -cp "D:\Program Files\idea202301\IntelliJ IDEA 2023.1\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true mybatisplus-database-encrypt-spring-boot-starter-1.0.10.jar mybatisplus-database-encrypt-spring-boot-starter

正常反编译如下图:

注:反编译的时候有可能会报java版本不对应(本地jdk版本和jar打包时的jdk版本不一致),只要把jdk升级成对应版本就可以了

4、反编译成功后文件还是个jar,正常解压就行了

如有转载请请务必保留此出处:https://blog.csdn.net/hometing218/article/details/132203793

相关推荐
开发小能手-roy28 分钟前
Java集合框架选型指南:从ArrayList到ConcurrentSkipListMap
java·开发语言
凡人叶枫43 分钟前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫1 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
chushiyunen1 小时前
java中的路径处理、左右斜杠
java·开发语言·python
yyxx4121231 小时前
上海企业如何选择专业的钉钉服务商
java·大数据·人工智能·钉钉
一杯奶茶¥2 小时前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
重生之后端学习2 小时前
Java入门
java·开发语言·职场和发展
碧海蓝天20222 小时前
C++法则24:在标准 C++ 中,没有任何可移植的方式判断指针 T* pt 指向的内存位置是否已经 构造了对象,程序员必须手动跟踪哪些元素已构造。
java·开发语言·c++
один but you2 小时前
const和constexpr常量表达式
java·前端·javascript
码云数智-大飞2 小时前
RAII 与智能指针深度拆解
java·前端·算法