我正在尝试在 Play 插件中进行基本的字节码增强,但是当它尝试对其提供的内容进行操作时,ApplicationClasses.ApplicationClass
找不到该类。
public void enhance(ApplicationClasses.ApplicationClass applicationClass)
throws NotFoundException, IOException, CannotCompileException
{
ClassPool classPool = ClassPool.getDefault();
CtClass ctClass = classPool.get(applicationClass.name);
...
}
例外是
糟糕:NotFoundException 异常 NotFoundException:controllers.CRUD 导致发生意外错误 play.exceptions.UnexpectedException:在 controllers.CRUD 上应用 AccessControlPlugin@1a5db4b 在 play.classloading.ApplicationClasses$ApplicationClass.enhance(ApplicationClasses.java:215) ... 引起:javassist.NotFoundException:controllers.CRUD 在 javassist.ClassPool.get(ClassPool.java:436) 在 AccessControlPlugin.enhance(AccessControlPlugin.java:19)
Play 框架正在调用该enhance
方法。它不应该比处理尚不可用的类更好吗?我如何让这个工作?