UnexpectedException: While applying class play.classloading.enhancers.ContinuationEnhancer on helpers.CheatSheetHelper$2

1,038 views
Skip to first unread message

tarchan

unread,
Apr 9, 2014, 9:40:54 AM4/9/14
to pla...@googlegroups.com
こんばんは、tarchanです。

Mac OS X 10.9+JDK7+Play! 1.2.7で開発していたのですが、JDK8をインストールしたところ動かなくなってしまいました。
新規にプロジェクトを作って動かしたときの例外を示します。
どうすれば動くようになるでしょうか?


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@76a4d6c 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.start(Play.java:523)

at play.Play.detectChanges(Play.java:637)

at play.Invoker$Invocation.init(Invoker.java:198)

at Invocation.HTTP Request(Play!)

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)

... 7 more

Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 18

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)

... 8 more

Caused by: java.io.IOException: invalid constant type: 18

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)

... 12 more


garbagetown

unread,
Apr 9, 2014, 9:58:58 PM4/9/14
to pla...@googlegroups.com
梅澤 @garbagetown です。

残念ながら Play 1.x はJDK8 では動作しません。デフォルトの JDK を JDK7 に戻してください。

いま手元に Mac が無いのでリンクのみで申し訳ありませんが、下記などが参考になるかと思います。


詳しくはがくぞ先生の人柱ツイートをどうぞ。


2014年4月9日水曜日 22時40分54秒 UTC+9 tarchan:

tarchan

unread,
Apr 10, 2014, 12:49:45 AM4/10/14
to pla...@googlegroups.com
tarchanです。


Javassistをアップグレードしろという情報を見つけたので、下記サイトからjavassist-3.18.0-GA.zipをダウンロードして、play-1.2.7/framework/libで使っているjavassist-3.9.0.GA.jarをjavassist-3.18.0.GA.jarに入れ替えました。


結果、新規に作ったプロジェクトや、自分の既存のプロジェクトは動くようになりました。
ありがとうございました。

以上


2014年4月10日木曜日 10時58分58秒 UTC+9 garbagetown:

garbagetown

unread,
Apr 16, 2014, 8:27:53 PM4/16/14
to pla...@googlegroups.com
梅澤@garbagetown です。返信遅くなり申し訳ありません。

javaassis入れ替えれば動くんですね!朗報ありがとうございます。

eclipse jdt coreも間もなくjdk8対応しそうなので、差し替えればラムダなども使えるかもしれないですね。



2014年4月10日木曜日 13時49分45秒 UTC+9 tarchan:
Reply all
Reply to author
Forward
0 new messages