現在、jspファイルにjavaファイルで作ったクラスメソッドを呼び出したいが、実行時にエラーが起きてしまう。
エラーが出ないようにクラスメソッドjspファイルに呼び出したい。
javaシートが入っているファイルは、javaコンテントに配置
jspシートが入っているファイルは、Webappコンテントに配置することで、インポートすることができました。
ただ、クラスファイルを呼び出すとサーバー実行時にエラーが出てしまい解決ができないです。
使用しているプロジェクトファイル
java1_15_method
呼び出したいクラスファイル
(java1_15_method)
java1_15_method→src→java→util→Utility.java
読み出し先
(javaBasic5_result.jsp)
src→Webapp→javaBasic5_result.jsp
実行時エラー
java.lang.UnsupportedClassVersionError: util/Utility has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 (クラス[util.Utility]をロードできません)
〜翻訳〜
java.lang.UnsupportedClassVersionError:util / Utilityはより新しいバージョンのJavaランタイム(クラスファイルバージョン61.0)によってコンパイルされました。このバージョンのJavaランタイムは、55.0までのクラスファイルバージョンのみを認識します(クラス[util.Utility]をロードできません)。
エラー内容の
現在使用している、javaランタイム(JRE)これはJDKに含まれる部品の一つと認識しています。
これが、コンパイル(翻訳)する時に、新しいバージョンで翻訳をしている。このJRE(javaランタイム)は55.0
(java11)のクラスファイルまでしか読み込めませんと記述されていると考えています。
ここまで試したこと。
コードの記述の仕方は、クラス名とファイル名は、結びついている。
クラスメソッドを呼び出す際に、メソッドの前に、クラス名を記述
自分がダウンロードした、JDKとJREのバージョンを調べる。
ネットのページから、JDKにJREが入っているので、2つ入っている場合、古いバージョンが認識されると記載されていたので、以前にjavaの公式サイトから、インストールした、Java Runtime (JRE)
をアンインストール。
現在のJDKのバージョンを確認。
eclipsを使っているのでeclipsの設定を確認。
eclips→設定→java→インストール済みのJRE→
eclips→設定→コンパイラー→コンパイラー準拠レベルの変更
どちらも、java17になっていたので、java11に変更→再度実行→エラー内容変わらず
その後また、java17に戻して,実行。→エラー改善されず。
クラスファイルのパスを通す方法としては、エラーの対応としては、適切でしょうか?
また、他に解決方法はありますでしょうか?
あなたの回答
tips
プレビュー