效率拉满,开发了一款可直接编辑 jar 包的 IDEA 插件
👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事上“练” 《互联网高频面试题》:面朝简历学习,春暖花开 《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》:系统学习,互联网主流技术栈 《必读 Java 源码专栏》:知其然,知其所以然
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:
Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud 视频教程:https://doc.iocoder.cn 【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本
IDEA自带的反编译插件能打开jar反编译class,遗憾的是不能编辑class,有的时候我们需要修改jar的时候还需要解压,反编译class,然后新建.java,修改代码,再编译,最后打包jar。
我敢说中间的过程你肯定不是一气呵成的,如果jar有依赖还要花时间去排查,打包的时候还需要注意编译jdk的版本,有的命令忘了的话还需要查手册,其实基本上全是体力活。
我翻遍了IDEA插件市场并没有找到合适的直接编辑jar的插件,于是我打算简单花点时间写一个这样的插件JarEditor,可以实现无需解压直接编辑jar内的文件。
功能介绍
首先IDEA可以反编译jar,在jar内的class是可以直接打开看到反编译代码的,外部文件可以通过File
->Project Structure
->Libraries
添加依赖然后反编译jar。
使用介绍
在插件市场安装插件JarEditor后,可以在.class反编译文件中看到一个切换到Jar Editor的tab页
点击Jar Editor后可以直接对反编译的代码进行修改,修改完之后点击Save/Compile
会编译当前修改的java内容并保存,然后点击Build Jar即可将编译保存的class文件写入到Jar包内。
这样编辑一个Jar包内class文件一气呵成无需解压也无需去敲命令。
下面是一个流程演示例子:
修改jar包内的资源文件也是支持的,流程和class文件是一样的,也是修改完要保存,然后再Build Jar即可。
在jar包的工程展示图,任意文件右键,可以看到JarEditor的New和Delete操作,可以新增文件和删除文件
一些机制
编译依赖的JDK是项目工程的JDK,可以选择编译的class目标版本,默认和jar包的class版本保持一致 编译java的时候依赖的classpath就是工程项目的依赖,如果依赖包找不到可以添加依赖 Save/Compile会将修改的文件保存到jar包所在目录的jar_edit子目录下,Build Jar会把会jar_edit目录的文件增量写入jar,最后再删除这个目录
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro 视频教程:https://doc.iocoder.cn/video/
总结
此IDEA插件JarEditor可无需解压直接编辑jar包内class和资源文件,感兴趣的朋友可以去试试。
源码地址:
https://github.com/Liubsyy/JarEditor
依赖IDEA最低版本为IDEA2020.3,大于等于这个版本均可安装使用。
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
微信扫码关注该文公众号作者