王旭阳个人博客

wxy

一款无需解压直接编辑修改jar包内文件的IDEA插件[JarEditor]

2024-05-27

告别繁琐!轻松修改jar包的神器来了

你是不是曾经遇到过这样的情况:需要修改jar包中的代码,但苦于没有便捷的方法?解压、反编译、修改、编译、重新打包... 整个过程繁琐复杂,耗时费力。

今天,我将向你介绍一款名为“Jar Editor”的IDEA插件,它可以让你轻松修改jar包,无需解压!

Jar Editor具有以下功能:

  • 支持多种类型的jar包,包括Java EE、Android、Spring Boot等。

  • 可以编辑jar包中的各种文件,包括class、xml、properties等。

  • 提供语法高亮、代码补全等功能,方便编辑代码。

  • 支持直接保存修改后的文件,无需重新编译打包。

使用Jar Editor非常简单,只需按照以下步骤操作即可:

在插件市场安装插件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,最后再删除这个目录

源码

源码地址:https://github.com/Liubsyy/JarEditor

依赖IDEA最低版本为IDEA2020.3,大于等于这个版本均可安装使用。