我在HTML页面上添加了一个
的条件#{if userObject == null}
<a href="/login">Text</a>
#{/if}
代码在开发模式下工作正常,并在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)
有什么出路吗
答案 0 :(得分:3)
我认为您的问题与您添加的代码无关,而是让模板“太大”超过了方法允许的行大小(在Java中)。
可能你正在修补大模板,或者你的页面很长。
答案 1 :(得分:1)
正如官方Java文档中所说,这意味着jvm尝试读取格式错误的类文件。因此,尝试删除所有类文件,tmp文件夹并重新编译。