以前も書いたように、仕事ではJavaを使って仕事している私ですが、IDEはEclipseではなくVisual Studio Code(以下、VScode)を使っています。軽快ですし、コード補完等も機能するので満足しています。
そんなJava開発を実現している拡張機能「Langage Support for Java」ですが、先日そのバージョンが「0.65」に更新されました。拡張機能を更新後にVScodeを再起動すると、下記のようなエラーが表示されました。
Java 11 or more recent is required to run. Please download and install a recent JDK
急になんだ?!と思ったら、どうやらver0.65からは拡張機能の実行にJDK11が必須になった模様。(引き続きJava8での開発は可能)
◆JDK11をインストール
驚きましたが、そういうことなら仕方ないです。私はJDK8を使っていたのでJDK11はインストールしてなかったため、まずはそこからです。「Amazon Corretto 11」をダウンロードしてきてインストールします。
msiファイルのほうを使えばインストール完了後、環境変数JAVA_HOMEが自動的にJDK11のものに変わってるはずです。
そしたらVScodeを再起動しましょう。これで冒頭のエラーは出なくなりました。
◆VScodeの設定
JDK11をインストールしましたが、プロジェクトで使用するのは11ではなく8です。なので、次はVScode側で設定を行います。
settings.jsonを開いて、以下のような設定を追記します。「path」の部分は、インストール済みのJDK8のインストールパスで読み替えてください。
"java.configuration.runtimes": [ { "default": true, "name": "JavaSE-1.8", "path": "C:\\Program Files\\Amazon Corretto\\jdk1.8.0_262" } ],
これで、もう一度VScodeを再起動します。これでJDK11を入れていてもJDK8でプロジェクトの作成やデバッグが可能なはず、です。
◆JAVA_HOMEは変えたくない
JDK11の使用はVScodeの拡張機能のためだけなので、JAVA_HOMEは変えたくない場合。この場合は、環境変数のJAVA_HOMEは今までの値に手動で戻しつつ、VScode側だけ設定を書き換えてやればOKです。
JAVA_HOMEをもとに戻してVScodeを起動すると再度、冒頭のエラーが出てきますが無視して、先ほどと同じように「settings.json」を開いて以下のように追記します。例によって、インストールパスはご自身の環境の内容に読み替えてください。
(先ほどとの差異は1行目の強調部分)
"java.home": "C:\\Program Files\\Amazon Corretto\\jdk11.0.3_7", "java.configuration.runtimes": [ { "default": true, "name": "JavaSE-1.8", "path": "C:\\Program Files\\Amazon Corretto\\jdk1.8.0_262" } ],
書き換え後、もう一度VScodeを再起動してください。これで解決してる、はず、です。