1.如何直接修改jar包(无需解压)
2.教你如何用 IDEA 反编译 jar 源码解读
3.JarEditor可直接修改jar包的码调IDEA插件
如何直接修改jar包(无需解压)
有的时候我们需要直接修改Jar包内的某个class,一般的码调方式是解压->反编译class->修改反编译的class->编译->编译后class拽回jar(或者直接打包jar),中间的码调流程还是比较繁琐的,解压和打包还需要通过各种命令,码调反编译还需要用到JD-GUI,码调写代码还得新建java文件甚至还要用到编辑器或者IDE,码调点菜网站源码编译还得注意设置目标版本。码调
这一顿操作猛如虎的码调过程中,大脑在多种工具、码调各种命令和各种注意事项中来回切换,码调我们知道大脑就跟CPU一样,码调来回切换上下文势必浪费大量脑细胞,码调集中精力做一个点的码调事既轻松又效率高。
于是码调我想,有没有直接修改Jar包的码调qq邮箱微信扫码登录源码插件呢?不用解压就能直接修改反编译的class,写完直接增量编译打包,整个过程中全程是自动化的。
我翻遍了插件市场,并没有找到这样的插件,于是我打算自己写一款这样的IDEA插件JarEditor来实现无需解压直接编译Jar包,包括class和资源文件。
本质上开发插件还是替换上面的手动修改jar文件的流程,但是又要尽可能复用现有的功能
于是我在IDEA反编译的jar包编辑页增加一个辅助编辑页(有点类似MavenHelper在pom.xml的编辑页增加辅助页),用来修改反编译的class代码
这样几乎不费吹灰之力就解决了无需解压和反编译的两个流程点,因为IDEA是自带Jar内class反编译的。
点击Jar Editor的tab标签辅助页面,我加上了几个操作的UI
里面有默认的JDK版本和编译目标版本,默认编译版本和要修改的class版本保持一致,当然也可以手动设置。2022千月影视双端源码
然后在Jar Editor的辅助页就可以直接编辑代码了
考虑到可能要修改多个文件,所以我做了两个按钮,Save/Compile和Build Jar,点击Save/Compile可将当前修改的jar临时编译并写入到jar包所在目录的子目录jar_edit_out中,当点击Build Jar的时候,将修改过的文件增量写入jar内,最后删除临时目录。
下面是一个完整的修改例子:
修改资源文件的话也是一样的操作,不过不用编译,也是点击Save直接保存到临时目录,最后Build Jar写入jar内。
通过简单的几步,就实现了修改Jar内文件的一系列自动化流程。
有时我们还会新增或者Jar包内的弘历牛熊通道指标源码一些文件/文件夹,于是我在Jar包内的文件上加了右键的操作Action
我已经发布插件到Jetbrains的插件市场,插件市场搜索JarEditor可直接安装使用,也可根据文末源码自己编译自己安装(基于SDK IDEA.3),IDEA最低要求.3,IDEA.3及之后的版本均可安装使用。
然后就可以直接打包jar包内的文件了,如果是外部jar,需要在File->Project Structure->Libraries中添加jar即可打开jar内的文件。
另外文章篇幅有限,下面是具体插件源码地址以供学习交流:
编译和打包的原理都在源码和注释里。
欢迎交流!
教你如何用 IDEA 反编译 jar 源码解读
要快速查看并解读 jar 包中的 class 源码,使用 IntelliJ IDEA (简称 IDEA) 是一个高效便捷的选择。只需几步操作,已经有了源码该怎么使用就能轻松反编译并阅读类源码。以下步骤指导你如何操作。
首先,确保你的本地 Maven 仓库已包含 jar 包。这里以阿里巴巴的 fastjson 包为例,其版本号为 1.2.。你可以在本地 .m2 仓库中找到并选择任意一个 jar 包。
接着,使用 WinRAR 或其他解压工具,将选中的 jar 包解压至当前文件夹中。解压后,你将看到一个名为 fastjson 的文件夹。
在解压出的 fastjson 文件夹内,寻找 JSON.class 文件。找到文件后,直接将鼠标拖拽至 IDEA 编辑器中即可。至此,你已成功反编译并打开了 jar 包中的源码。
这个方法简便高效,适用于快速查看和理解 jar 包内类的实现细节。通过这种方式,你不仅能更直观地了解代码逻辑,还有助于解决实际开发中遇到的问题。
来源:toutiao.com/i...
JarEditor可直接修改jar包的IDEA插件
在进行代码开发和维护过程中,常常会遇到需要直接修改jar文件内部类的问题,传统的做法是先解压jar文件,再反编译class文件,修改后再重新编译和打包。这一系列操作繁琐且容易出错,耗费大量时间和精力。
然而,市面上并没有满足直接编辑jar文件的IDEA插件,这促使我着手编写一个名为JarEditor的插件,以实现无需解压即可编辑jar包内部类的功能。
JarEditor插件的使用流程简便高效。首先,IDEA自带的反编译插件可以打开jar文件,并展示反编译后的类代码。随后,通过在插件市场安装JarEditor,用户可以访问插件提供的Jar Editor功能区,直接在反编译的代码上进行修改。
修改完成后,用户只需点击“Save/Compile”按钮,系统将自动编译修改的java内容,并保存到修改的类文件中。接着,通过点击“Build Jar”按钮,系统将把修改后的类文件写入到原始jar包中,实现一气呵成的编辑过程,无需再进行复杂的解压和打包操作。
不仅如此,JarEditor还支持修改jar包内的资源文件。用户只需按照相同的流程操作,即可完成资源文件的编辑和更新。在查看jar包工程展示图时,用户可以通过右键任意文件,选择“New”或“Delete”操作,轻松新增或删除文件。
总结而言,JarEditor插件大大简化了编辑jar文件的过程,提高了开发效率。用户只需安装插件,并遵循简单操作步骤,即可实现直接在jar文件中进行代码修改,节省了大量时间,减少了出错几率。感兴趣的开发者可以尝试使用,源码地址在GitHub上可供参考。支持IDEA最低版本为.3,兼容更高级别版本。
欢迎广大开发者交流反馈,共同提升开发体验。