проблема с классами, не найденными во время PlayPlugin.enhance - PullRequest
2 голосов
/ 05 января 2011

Я экспериментирую с базовым улучшением байт-кода в плагине Play, но когда он пытается работать с указанным ApplicationClasses.ApplicationClass, класс не может быть найден.

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 AccessControlPlugin@1a5db4b 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)

Платформа Play вызывает метод enhance. Разве это не должно знать лучше, чем обрабатывать классы, которые еще не доступны? Как мне заставить это работать?

1 Ответ

0 голосов
/ 08 января 2011

Поможет ли увеличение порядка загрузки плагина в play.plugins до 1000, т.е. после встроенных плагинов?Я не видел этой проблемы с улучшением, хотя у меня были проблемы с тем, что метод расширения плагина не вызывался для определенных классов.

...