2013-12-08 17 views
6

Play-Framework 1.2.x beginnt mit dem folgenden Fehler:

Oops: UnexpectedException 
An unexpected error occured caused by exception UnexpectedException: While applying class play.classloading.enhancers.ContinuationEnhancer on helpers.CheatSheetHelper$2 

play.exceptions.UnexpectedException: While applying [email protected] on helpers.CheatSheetHelper$2 
    at play.plugins.PluginCollection.enhance(PluginCollection.java:556) 
    at play.classloading.ApplicationClasses$ApplicationClass.enhance(ApplicationClasses.java:235) 
    at play.classloading.ApplicationClassloader.loadApplicationClass(ApplicationClassloader.java:167) 
    at play.classloading.ApplicationClassloader.getAllClasses(ApplicationClassloader.java:431) 
    at play.Play.preCompile(Play.java:600) 
    at play.Play.init(Play.java:304) 
    at play.server.Server.main(Server.java:162) 
Caused by: play.exceptions.UnexpectedException: While applying class play.classloading.enhancers.ContinuationEnhancer on helpers.CheatSheetHelper$2 
    at play.CorePlugin.enhance(CorePlugin.java:302) 
    at play.plugins.PluginCollection.enhance(PluginCollection.java:551) 
    ... 6 more 
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 15 
    at javassist.CtClassType.getClassFile2(CtClassType.java:203) 
    at javassist.CtClassType.subtypeOf(CtClassType.java:303) 
    at javassist.CtClassType.subtypeOf(CtClassType.java:318) 
    at play.classloading.enhancers.ContinuationEnhancer.enhanceThisClass(ContinuationEnhancer.java:49) 
    at play.CorePlugin.enhance(CorePlugin.java:297) 
    ... 7 more 
Caused by: java.io.IOException: invalid constant type: 15 
    at javassist.bytecode.ConstPool.readOne(ConstPool.java:1027) 
    at javassist.bytecode.ConstPool.read(ConstPool.java:970) 
    at javassist.bytecode.ConstPool.<init>(ConstPool.java:127) 
    at javassist.bytecode.ClassFile.read(ClassFile.java:693) 
    at javassist.bytecode.ClassFile.<init>(ClassFile.java:85) 
    at javassist.CtClassType.getClassFile2(CtClassType.java:190) 
    ... 11 more 

Antwort

5

Dies kann auf das Spiel laufen verwendet jdk in Beziehung gesetzt werden. Wenn Sie ein java8 jdk verwenden, möchten Sie wahrscheinlich stattdessen java7 ausprobieren. Das hat das Problem für mich gelöst.

14

Play 1.2.5 kommt mit Javassist 3.9.0, das den vom JDK 8 Compiler generierten Bytecode nicht vollständig versteht. Kompilieren Sie entweder mit JDK 7 oder aktualisieren Sie die JavaSist-Bibliothek unter play/lib/framework/zum Beispiel zu Javassist 3.18.0.