【备忘】Arthas热更新代码

  • Post author:
  • Post category:其他


#反编译
$ jad --source-only com.yingzi.fpf.share.application.fpf.pig.impl.PigletDayAgeCalc > /tmp/PigletDayAgeCalc.java
# 修改文件
$ vim /tmp/PigletDayAgeCalc.java
# 查找加载的 ClassLoader
$ sc -d *PigletDayAgeCalc | grep classLoaderHash
classLoaderHash   47d384ee
# 编译
$ mc -c 47d384ee /tmp/PigletDayAgeCalc.java -d /tmp
#热更新
$ redefine /tmp/com/yingzi/fpf/share/application/fpf/pig/impl/PigletDayAgeCalc.class 

注意点:

1、反编译的代码可能本身会有问题,导致编译的时候不通过

2、使用Lombok会导致mc编译报错

3、不能新增、修改、删除字段或方法



版权声明:本文为li281037846原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。