普通网友 2017-11-28 08:47 采纳率: 100%
浏览 1453

大神们关于javassist 动态编译的问题

//ClassPool:CtClass对象的容器

ClassPool pool = ClassPool.getDefault();

    //通过ClassPool生成一个public新类Emp.java    
    CtClass ctClass = pool.makeClass("javassist.demo.MyCC");    



    //添加自定义方法    
    CtMethod ctMethod = new CtMethod(CtClass.voidType,"printInfo",new CtClass[]{},ctClass);    
    //为自定义方法设置修饰符    
    ctMethod.setModifiers(Modifier.PUBLIC);    
    //为自定义方法设置函数体    
    StringBuffer buffer2 = new StringBuffer();    
    buffer2.append("{\nSystem.out.println(\"begin!\");\n")    

            .append("}");    
    ctMethod.setBody(buffer2.toString());    
    ctClass.addMethod(ctMethod);    

            执行以下代码报错 
            ctClass.toClass(); 

            大神求解决

            Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
StackWalker cannot be resolved to a type
StackWalker cannot be resolved to a type
StackWalker cannot be resolved
StackWalker cannot be resolved to a variable
StackWalker cannot be resolved to a type
StackWalker cannot be resolved to a type
The method dropLookupMode(int) is undefined for the type MethodHandles.Lookup
The method defineClass(byte[]) is undefined for the type MethodHandles.Lookup

at javassist.util.proxy.DefineClassHelper$SecuredPrivileged$3.<init>(DefineClassHelper.java:53)
at javassist.util.proxy.DefineClassHelper$SecuredPrivileged.<clinit>(DefineClassHelper.java:38)
at javassist.util.proxy.DefineClassHelper.<clinit>(DefineClassHelper.java:177)
at javassist.ClassPool.toClass(ClassPool.java:1120)
at javassist.ClassPool.toClass(ClassPool.java:1083)
at javassist.ClassPool.toClass(ClassPool.java:1041)
at javassist.CtClass.toClass(CtClass.java:1278)
at javassist.demo.GenerateNewClassByJavassist.main(GenerateNewClassByJavassist.java:46)
  • 写回答

1条回答 默认 最新

  • threenewbee 2017-11-28 15:45
    关注

    stackwalker是个第三方类
    不知道你说的是不是这个
    http://blog.sina.com.cn/s/blog_648d306d0100qmca.html

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建