Javassist:类文件中缺少BootstrapMethods属性

时间:2019-03-13 16:52:35

标签: java instrumentation javassist

我正在尝试使用Javassist从另一个类复制方法:

CtMethod my = ctCodeSnippets.getDeclaredMethod("my");
CtMethod myCopy = CtNewMethod.copy(my, targetClass, null);
targetClass.addMethod(myCopy);

当方法主体包含任何lambda时,生成的类将无法解析并出现错误:

java.lang.ClassFormatError: Missing BootstrapMethods attribute in class file

可能我还需要复制BootstrapMethodsAttribute,但找不到任何参考。那么,从另一个体内包含lambda的类中复制方法的正确方法是什么?

非常感谢

P.S。 Javassist 3.24.1-GA

0 个答案:

没有答案