反编译jar包,修改后重新编译为jar包

使用开源jar包或者供应商jar包时,会发现一些bug或者已有功能无法满足我们要求,需要对jar中的.class文件进行修改。处理步骤如下所示:

1.使用反编译工具将jar包反编译为源文件

反编译工具请参考XJAD2.2版下载地址:

如果只是少量的几个class需要修改,可以直接用IDEA或者jd-gui工具打开,将.class文件中的内容直接复制并创建同名的.java文件(需要根据jar包中建立所有的上层目录,比如com.athome.cas.Test.java,需要创建com.athome.cas等目录,将Test.java放在目录下面)

2.修改java文件

对源文件.java进行编写并测试功能

3.编译整个jar包或特定的几个java文件

用IDEA打开整个源文件,使用bulid编译文件或者整个项目(可以选中单独java文件编译为.class)

4.编译报错时的处理

编译报错最常见的就是下面这种例子:

Util.java:9: 错误: 程序包javax.servlet不存在 import javax.servlet.ServletException

需要导入对应的依赖,我们可以在pom.xml文件中加入pom依赖,需要的包可以在仓库查询

如果是单独几个.class文件可以直接用压缩文件打开原来的jar包,将修改后编译生成的class文件直接拖进去即可。

经验分享 程序员 微信小程序 职场和发展