【发布时间】:2017-03-27 18:10:55
【问题描述】:
我正在使用 CtNewMethod.make 在类中注入一个新方法,如果我在方法中使用的对象没有被修改,一切似乎都工作正常: 我做了一个自定义方法来获取对象:
public String getObj() {
return "new bgr()";
}
但是,如果我尝试重写这样的方法:
public String getObj() {
return "new bgr() " +
"{" +
"public void a(int x, int y, float pt) {" +
"super.a(x, y, pt);" +
"}" +
"}";
}
它给了我一个错误: javassist.CannotCompileException: [源错误]) 丢失
即使使用“)”字符,我也尝试了所有方法,但似乎没有任何效果
提前致谢
PS:方法和类确实存在,只是由于jar被混淆了,它们只是随机命名
【问题讨论】:
标签: java methods overriding code-injection javassist