2011-01-05 58 views
2

我正在试用Pla​​y插件中的基本字节码增强功能,但是当它试图在提供的ApplicationClasses.ApplicationClass上运行时,无法找到该类。PlayPlugin.enhance中找不到类的问题

public void enhance(ApplicationClasses.ApplicationClass applicationClass) 
    throws NotFoundException, IOException, CannotCompileException 
{ 
    ClassPool classPool = ClassPool.getDefault(); 
    CtClass ctClass = classPool.get(applicationClass.name); 
    ... 
} 

唯一的例外是

 
Oops: NotFoundException An unexpected error occured caused by exception NotFoundException: controllers.CRUD 

play.exceptions.UnexpectedException: While applying [email protected] on controllers.CRUD 
     at play.classloading.ApplicationClasses$ApplicationClass.enhance(ApplicationClasses.java:215) 
... 
Caused by: javassist.NotFoundException: controllers.CRUD 
     at javassist.ClassPool.get(ClassPool.java:436) 
     at AccessControlPlugin.enhance(AccessControlPlugin.java:19) 

的游戏框架调用enhance方法。它不应该知道比处理尚未提供的类更好吗?我如何得到这个工作?

回答

0

如果将play.plugins中的插件加载顺序增加到1000,即在内置插件之后,它有帮助吗?我还没有看到这个增强的问题,虽然我对插件的增强方法没有被调用某些类有问题。

+0

我尝试了各种值从1到10000.有时它会更改哪个类找不到,但它们都不允许它工作。 – 2011-01-08 19:25:00

相关问题