参考:https://catcoder.blog.csdn.net/article/details/119037447
1.打开idea,随便新建一个java项目(maven),如我自己命名为test
2.打开File -> Project Structure,在Libraries中加入需要修改的jar包源码,如下图,点击java后,会弹出窗口,找到jar包路径后点ok
3. 加载成果后项目结构如下:
4. 假如我们需要修改的就是上图中红框的.class文件,打开该文件,可以看到上方的package com.cn.securityhealer.utils;因此在test–>src–>main–>java里面创建一个同路径的package
该代码没有导入其他依赖的package或文件,因此只需要在test–>src–>main–>java–>com.cn.securityhealear.utils下新建一个一模一样名称的java文件,并将class的内容(class内容其实就是源码)复制过来。(如果该class文件依赖别的文件,需要也将别的文件复制到test项目下)
可以看到复制过来的代码有显示红色的地方,说明有问题。这里是因为代码里有import org.springframework.context.ApplicationContext;,需要在test项目下的maven xml里面导入该包,而我们的xml配置文件还没导,因此找到源码当中的xml直接替换test项目下的xml。此外代码有问题,还可能是该文件依赖其他文件,如果有依赖,把其他文件也复制过来,注意复制的时候路径保持一样(因为代码首行会package xxx)
此时就修改test下新创建的jave源码(根据自己的实际需要)
8. 修改完成后就可以进行编译了
9. 编译完成后,就会生成一个target文件夹,新生成的.class编译文件就在target下。
10. 使用解压缩工具直接打开原始的jar包,找到需要修改的.class文件,将重新编译的.class文件拖到原来文件的目录,覆盖即可。