【问题标题】:Play 1.2.x UnexpectedException ContinuationEnhancer on helpers.CheatSheetHelper$2 invalid constant type: 15在 helpers.CheatSheetHelper$2 上播放 1.2.x UnexpectedException ContinuationEnhancer 无效常量类型:15
【发布时间】:2013-12-25 13:35:07
【问题描述】:

Play framework 1.2.x 启动时出现以下错误:

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 play.CorePlugin@3444d69d 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

【问题讨论】:

    标签: playframework playframework-1.x javassist


    【解决方案1】:

    Play 1.2.5 附带 Javassist 3.9.0,它不能完全理解 JDK 8 编译器生成的字节码。例如使用 JDK 7 编译或将 play/lib/framework/ 下的 Javassist 库升级到 Javassist 3.18.0。

    【讨论】:

      【解决方案2】:

      这可能与用来运行play的jdk有关。如果您使用 java8 jdk,您可能想尝试使用 java7。这为我解决了问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-25
        • 1970-01-01
        • 2017-07-12
        相关资源
        最近更新 更多