使用开源jar包或者供应商jar包时,会发现一些bug或者已有功能无法满足我们要求,需要对jar中的.class文件进行修改。处理步骤如下所示:
1.使用反编译工具将jar包反编译为源文件
反编译工具请参考XJAD2.2版下载地址:http://www.blogjava.net/Files/96sd2/XJad2.2.rar
如果只是少量的几个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文件直接拖进去即可。