使用Intellij IDE修改jar并打包

起因

之前写的一个封装了支付宝微信红包、支付的一个jar包,在项目的版本库中没找到源码(可能当时忘记提交了),后面换电脑忘记备份就没有了,现在只能在运行的项目中找到这个jar库。现在要用改一下支付宝的账号和Key,而且这个还是写在java中的常量,只能反编译jar包改了再打包回去了。

步骤

1. 查看原jar包配置

用压缩软件打开jar,查看jar的配置为maven工程,查看pom.xml文件可以得到maven工程的groupId、artifactId、version这些信息。

2. 新建一个项目

打开Intellij IDE,根据前面的maven配置新建项目

用配置jar包中的pom.xml新建

3. 导入jar包

将recharge-1.0.jar包复制到项目中去,并添加jar到库

如果jar包中用引用了第三方的jar库,也把第三方的jar包复制到项目中,并也添加到库

4. 导入pom.xml配置

将jar包中的pom.xml配置复制到项目的pom.xml中,并更新。

5. 定位到要改的代码

在工程左侧直接打开recharge-1.0.jar,找到要修改的代码(Intellij IDE可以直接反编译jar及内部的class),因为是自己以前写的,所以很快就能找到要改的代码在哪.

6. 新建对应的package包

7. 新建对应的java文件

8. 复杂文件内容

将class反编译好的代码直接复制到新建的java文件中,修改需要修改的代码段

9. 新建中引用文件

因为前面将再个jar包引用为了库,大多数引用的文件都还是可以在jar中找到的,如果有找不到的重复第6、7、8步骤,将改动文件中引用的jar中的class文件也新建对应的java出来。如果项目复杂这里可能会重复很多,装每个引用的文件都复制到对应包下的java文件中

10. 编译class

根据引用顺序,将java文件一个一个的Recompile'PlatformAlipay.java'编码成class

11. 替换jar中的修改后的class文件

在项目输出目录找到新编译的class文件

用好压直接打开jar,找到对应位置,直接把class替换进去,会自动压缩

到此,jar修改重新打包就完成了。

0%