scala-playframeworkでwebアプリを開発しているのですが、今まではビルドが通っていたのですが、急にjavaで以下のような実行時エラーが出て強制終了するようになりました。
エラー内容
plain
1Uncaught error from thread [application-akka.actor.default-dispatcher-10]: controllers/routes has been compiled by a more recent version of the Java Runtime (class file version 56.0), 2this version of the Java Runtime only recognizes class file versions up to 52.0, 3shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[application] 4java.lang.UnsupportedClassVersionError: controllers/routes has been compiled by a more recent version of the Java Runtime (class file version 56.0), this version of the Java Runtime only recognizes class file versions up to 52.0 5 at java.lang.ClassLoader.defineClass1(Native Method) 6 ... 7 .. 8 .
試したこと
compiled by a more recent version of the Java Runtime (class file version 56.0)
とあるので(過去に似た記事などを参考に)、javaとjavacのバージョンが違っているのかなと思いコンソール上で確認したのですが、
plain
1> javac -version 2java version "1.8.0_221" 3> java -version 4java version "1.8.0_221" 5Java(TM) SE Runtime Environment (build 1.8.0_221-b11) 6Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
となっており、バージョンは同じなのにコンパイルされるときに別のバージョンを使っているみたいです。intelliJのコンパイラ設定で--release 8
オプションを付けたりしてみましたがうまくいきませんでした。クラスのバージョンを見るに別にインストールした12の方(環境変数には設定していない)を使っているのかなと思ってみたり...。
どなたか原因がわかる方いましたら教えてください。
環境
Windows10
Java: Javaのインストールディレクトリに以下のファイル
jdk1.8.0_221
jdk1.2.0.1
jre1.8.0_221
回答1件
あなたの回答
tips
プレビュー