可直接编辑jar包的IDEA插件-JarEditor

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: IDEA自带的反编译插件虽可查看jar包中的class文件,但无法直接编辑。为解决此问题,作者开发了JarEditor插件,可在IDEA中直接编辑jar文件内的class及资源文件,无需解压或手动编译。点击Jar Editor可修改代码,通过Save/Compile保存并编译,Build Jar则将更改写回jar包。该插件简化了jar包编辑流程,提高了开发效率。

前言

IDEA自带的反编译插件能打开jar反编译class,遗憾的是不能编辑class,有的时候我们需要修改jar包内class,需要解压->反编译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,最后再删除这个目录



相关文章
|
5月前
|
Java 测试技术
抖音点赞脚本,直播间作品批量点赞,jar插件代码分享
实现使用了Selenium WebDriver自动化测试框架来模拟浏览器操作。代码包含登录功能
|
5月前
|
JSON Java 定位技术
抖音虚拟位置修改器,快手小红书陌陌均支持,jar最新xposed插件
这个代码实现了一个GPS位置模拟器,主要功能包括: 基于基准位置生成随机GPS坐标点
|
6月前
|
JSON Java 数据库连接
IDEA的插件大总汇 (让你的工作效率大大提高!)
我是小假 期待与你的下一次相遇 ~
1083 5
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
648 6
|
6月前
|
XML 监控 安全
陌陌动态小尾巴留微信号, 陌陌最新留微信号技巧,通过JAR插件实现【仅供学习参考】
我们玩陌陌经常看到,别人的动态都能留微信号,但是我们总是都发不了,这是因为陌陌的安全机制导致的,手动发布会大致出发风控机制,但是用插件可以避免这个问题。
|
10月前
|
人工智能 IDE 编译器
idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡
idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡
1997 15
idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡
|
11月前
|
开发工具 开发者 git
IntelliJ IDEA 插件推荐:提升开发效率的神器
本文介绍了 IntelliJ IDEA 的多个实用插件,涵盖从提高开发效率到美化界面的各个方面。
1324 1
|
12月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
1436 1
|
IDE Java Maven
分享几个实用的IDEA插件,提高你的工作效率!
分享几个实用的IDEA插件,提高你的工作效率!
575 0
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
1639 2
[JarEditor]可直接修改jar包的IDEA插件