不修改jar包如何修改里面的代码?

wanwanwan
  • 195

生产上某个jar包里面的一个方法需要修改一下,但前提是不可以动这个jar,有什么办法在代码程序里面调用到这个方法的时候进行修改?要全部把里面的class反编译出来么?

回复
阅读 1.9k
4 个回答
  1. 找到的源码
  2. 在程序代码里面新建一个与该类路径完全相同,类名称也相同的类
  3. 把代码完全拷贝进去

代理模式,装饰器模式,适配器模式。

重写这个类, 把它放到 classpath 靠前的位置。

或者实现自己的classloader, 在里面加载这个类的时候,加载自己的实现。

fakari
  • 3
新手上路,请多包涵

Arthas 提供了热更新的方法,可以看一下

宣传栏