【发布时间】:2020-11-08 15:58:59
【问题描述】:
我正在使用 javassist(稍后在项目中使用它),但我无法对类进行简单的更新。 我尝试在方法之前插入代码,但它没有被执行。
我有一个 gradle 项目,我正在使用 javassist 版本:'3.27.0-GA'。
给定以下类:
public class Dummy{
public int dummy(){
return 5;
}
}
以下测试失败,所以类没有被修改:
@Test
public void modifyReturnValueTest() throws NotFoundException, CannotCompileException, IOException {
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("Dummy");
CtMethod m = cc.getDeclaredMethod("dummy");
m.insertBefore("{ if(true) return 3; }");
cc.writeFile();
assertEquals(3, new Dummy().dummy());
}
我错过了什么?
【问题讨论】:
标签: javassist