- 打开idea,随便新建一个java项目(maven),如我自己命名为packageclass
- 打开File -> Project Structure,在模块中点+号加入需要修改的jar包源码,如下图,点击java后,会弹出窗口,找到jar包路径后点ok
然后在外部库就可以看到刚刚添加的jar包
3. 假如我们需要修改的就是上图中红框的.class文件,打开该文件,可以看到上方的package org.activiti.engine.impl.cfg;因此在packageclass–>src–>main–>java里面创建一个同路径的package
4. 该代码没有导入其他依赖的package或文件,因此只需要在package–>src–>main–>java–>org.activiti.engine.impl.cfg下新建一个一模一样名称的java文件
,并将class的内容(class内容其实就是源码)复制过来。(如果该class文件依赖别的文件,需要也将别的文件复制到packageclass项目下
)
- 可以看到复制过来的代码有显示红色的地方,说明有问题。这里是因为代码里有import com.fasterxml.jackson.databind.ObjectMapper;,需要在packageclass项目下的maven xml里面导入该包,而我们的xml配置文件还没导,因此找到源码当中的xml直接替换test项目下的xml。此外代码有问题,还可能是该文件依赖其他文件,如果有依赖,把其他文件也复制过来,注意复制的时候路径保持一样(因为代码首行会package xxx)
6. 此时就修改packageclass下新创建的jave源码(根据自己的实际需要)
7. 修改完成后就可以进行编译了
8. 编译完成后,就会生成一个target文件夹,新生成的.class编译文件就在target下。
9. 使用解压缩工具直接打开原始的jar包,找到需要修改的.class文件,将重新编译的.class文件拖到原来文件的目录,覆盖即可。