Unknown Region

プログラムでハマったエラーとその解決方法についての備忘録メモ

【Java】外部のライブラリ利用時にはコンパイルされたバージョンに気をつけよう

先日LTSであるJava21がリリースされたJavaについて。

xtech.nikkei.com

メジャーバージョンがかなり早い頻度でリリースされるようになってきた一方で、開発者にとってはこんなメッセージで苦しまされることも多いのでは。

例: エラーメッセージ

java.lang.IllegalArgumentException: Unsupported class file major version 61

ちなみに上記はgradle由来のもの。

 

利用しているライブラリのバージョンアップを行いたい場合、現在利用しているJavaのバージョンよりも新しいバージョンのみをサポートしている場合には注意が必要となる。

例えば現在コンパイルで利用しているバージョンがJava11の場合、利用しているライブラリの新バージョンがJava17コンパイルされている場合に上記のようなエラーが出る。

コンパイルで利用されたJavaのバージョンについては、各種ライブラリの公式ドキュメントやコードを読む必要がある。

親切な場合はサポート用のページが用意されているが、割とメンテナンス者によって左右されるところかも。

ちなみにjarファイルはzipとして解凍可能なので、直接中のclassファイルに対してコンパイルされたバージョンをチェックすることもできる。

plugout.hateblo.jp

 

連絡先: plugout777★yahoo.co.jp (クローラー対策のため★を@に変更してください)