IntelliJで開発しているJavaアプリケーションで、Javaバージョンを上げる際に気をつけること

こんにちは。 エキサイト株式会社の三浦です。

Javaは現在も積極的にアップデートされている言語であるため、様々な理由からJavaで開発しているアプリケーションのJavaバージョンを上げる必要が出てくることがたまにあります。

今回は、IntelliJで開発しているアプリケーションのJavaバージョンを上げる際に気をつけることを紹介します。

Javaバージョンの上げ方

まずは当然ですが、アプリケーションを動かすJava自体のバージョンを上げる必要があります。

方法は色々あると思いますが、一例として、以下のようにSDKMANなどJavaバージョン管理をしてくれるアプリケーションを使用すると楽でしょう。

tech.excite.co.jp

なおSDKMANを使用する場合、定期的にアップデートが必要になります。

こういった機会にアップデートすることをおすすめします。

IntelliJの対応

ここが少し引っかかりやすいところですが、IntelliJの場合、PC上のJavaのバージョンを上げても自動的にはIDEで対応するJavaバージョンを変えてくれません。

つまり、例えば「バージョンを上げたことで使えるようになった新しい機能のコーディング時の自動補完」や「非推奨になった言語仕様の警告」などは、そのままでは表示してくれないということになります。

また、バージョンを上げたことで新しく使えるようになった機能や設定で開発した場合に、IDE側で「その機能は現在のバージョンでは使用できません」のようなエラーが起きる場合もあります。

こういったことを防ぎ、IntelliJ上で正しいバージョンを使ってもらえるよう、手動で設定を変更する必要があります。

アプリケーションコードのJavaバージョン設定

まずは、アプリケーションコードに対するJavaバージョン設定を行います。

ファイル -> プロジェクト構造 -> SDK から、該当バージョンのJavaを指定すると良いでしょう。

Gradle等のJavaバージョン設定

もしGradleなどの依存管理アプリケーションを使っている場合は、そちらに対してもJavaバージョン設定をする必要があります。

Gradleの場合は、IntelliJ IDEA -> Preferences -> ビルド、実行、デプロイ -> ビルドツール -> GradleGradle JVM について、該当バージョンのJavaを指定しましょう。

この対応によって、IntelliJもアップデートしたJavaバージョンでコードを見てくれるようになります。

ライブラリのアップデート・言語の非推奨処理対応

最後に、Javaのバージョンを上げたことでライブラリのバージョンアップが必要になったり、アプリケーションコード上で非推奨となった処理などが出ていたら対応しましょう。

終わりに

Java自体のバージョンアップは、様々な理由から必要になることがありますが、そこまで頻繁に起きるわけでもないので詰まりやすい部分でもあります。

この記事が参考になれば幸いです。