Играть: Неверный метод Длина кода - PullRequest
1 голос
/ 30 августа 2011

Я добавил на свою HTML-страницу одно условие:

#{if userObject == null}
<a href="/login">Text</a>
#{/if}

Код работает нормально в режиме dev и получает эту ошибку в режиме PROD.

SEVERE: Cannot start in PROD mode with errors
java.lang.ClassFormatError: Invalid method Code length 65561 in class file Template_M1175588447$_run_closure1_closure2
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at play.templates.GroovyTemplate$TClassLoader.defineTemplate(GroovyTemplate.java:77)
    at play.templates.GroovyTemplate.compile(GroovyTemplate.java:133)
    at play.templates.TemplateLoader.scan(TemplateLoader.java:184)
    at play.templates.TemplateLoader.scan(TemplateLoader.java:194)
    at play.templates.TemplateLoader.scan(TemplateLoader.java:194)
    at play.templates.TemplateLoader.getAllTemplate(TemplateLoader.java:164)
    at play.Play.preCompile(Play.java:501)
    at play.Play.init(Play.java:273)
    at play.server.Server.main(Server.java:131)

Isесть ли выход на этот

Ответы [ 2 ]

3 голосов
/ 14 сентября 2011

Я полагаю, что ваша проблема связана не с кодом, который вы добавили, а с тем, что шаблон "слишком большой" превышает допустимый размер строк (в Java) для метода.

Возможно, вы используете xtendingбольшие шаблоны или ваша страница очень длинная.

1 голос
/ 30 августа 2011

Как сказано в официальной документации Java, это означает, что jvm пытается прочитать файл класса, который искажен. Таким образом, попробуйте удалить все файлы классов, папку tmp и перекомпилировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...