背景
之前写过一款IDEA插件JarEditor,可以基于可视化界面一键化修改jar内文件。
在JarEditor中修改JAR内文件->Save->Build Jar即可一气呵成修改JAR内文件,简化了解压、反编译、编译、打包等一系列繁琐的操作。
原理和源码可见 Github-JarEditor
有些JAR在频繁修改后,需要看到哪些jar修改了并且需要还原某些class,因此在原来的JarEditor基础上增加了一个备份和还原的功能。
v2.3.1新增备份机制
在某个jar上右键->JarEditor->Backup,打开Backup备份页面
勾选Enable backup后开启备份,这样每次增/删/改并Build Jar后就能看到备份记录了。
- 如果勾选了Only backup first version则只备份第一个版本
列表中左边是备份的时间点,每个时间是一个版本,右边列表是每个版本变化的文件
- Diff with previous version: 选中版本在当时的差异
- Diff with current jar: 当前使用jar和选中版本的差异
- Revert current entry to this version: 当前使用jar回退选中文件到某个版本,最后点击Build Jar才选真正回退
Diff with previous version 和 Diff with current jar 都可以展示修改差异,也可以双击打开
列表左侧的jar备份时间点,右键弹出菜单,选中Revert jar to this version则将当前使用的jar整体回退到选中时间点的版本,并覆盖当前使用的jar。
如果备份文件太多,可选中Delete backup jar删除多余的jar,支持多选。
总计
通过这一套修改jar、备份和还原,形成了修改jar的完整的闭环,再也不需要手动去备份jar了。