在工作中,有些第三方JAR不能满足我们的特殊需求,所以经常会有需要修改JAR的情况,这里给出基本的修改思路,然后再辅以实例。
思路
- 使用反编译工具JD-GUI)打开要修改的jar包(如beforeModify.jar),找到jar包中要修改的class文件(如A.class)
- 打开Eclipse新建一个Java工程,并添加一个类(如A.java:该类名与A.class文件中的类名一致,所在包结构与A.class文件中的类所在的包结构一致),复制A.class文件里的全部内容到A.java,对A.java做你要的修改保存即可。补充一点,有些类通过JD-GUI查看会导致莫名的乱码或者错误,这个时候最保险的方法是通过Google Git找出相应的源码,然后复制到Eclipse中的A.java中去。
- 使用WinRAR解压工具打开如beforeModify.jar,找到A.class选中右键点击删除
- 把如beforeModify.jar导入到项目中,把项目中需要的jar包导入,导入的目的是保证项目没有报错,可以正常编译。
- 右键项目导出jar包(如afterModify.jar),然后用WinRAR打开afterModify.jar,找到重新编译好的A.class
- 用WinRAR打开beforeModify.jar,找到原来A.class文件存放的目录,把重新编译后的A.class文件拖进目录覆盖即可。