プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

Java8にしたらアプリが動かなくなった

今までのアプリを新しい環境へ移すにあたり、どうせならとJava7からJava8にしてみました。
Tomcatも8です。

起動してみたところ、
java.lang.RuntimeException: java.io.IOException: invalid constant type: 15
at javassist.CtClassType.getClassFile2(CtClassType.java:207)
at javassist.CtClassType.subtypeOf(CtClassType.java:286)
at javassist.CtClassType.subtypeOf(CtClassType.java:301)
at javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:227)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:115)
at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:96)
at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:704)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at javassist.compiler.JvstTypeChecker.atCastToRtype(JvstTypeChecker.java:112)
at javassist.compiler.JvstTypeChecker.atCastExpr(JvstTypeChecker.java:93)
at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54)
….

意味不明なエラーが表示。。。

どうやら、javassistというライブラリに問題があるそうです。
もともとjavassist-3.4.ga.jarというのが入っていましたが、
これを最新のjavassist-3.20.0-GAというのに入れ替えました。
新しいのはjarファイル名にバージョン情報がついてませんでした。

これで解決しました。
先に悩んでくれた人が、ネットに情報をあげていてくれてたため、10分で解決です。ありがたい。
まともに調べてたら3日かかってもわからなかったんじゃないかと思います。

でも他にも動かないところがあるかもしれませんね。
微妙に間違った動きになってたらやだな。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください