Visual Studio Code で Java を使うにはJDK11が必要になりました。

 以前も書いたように、仕事ではJavaを使って仕事している私ですが、IDEはEclipseではなくVisual Studio Code(以下、VScode)を使っています。軽快ですし、コード補完等も機能するので満足しています。

 そんなJava開発を実現している拡張機能「Langage Support for Java」ですが、先日そのバージョンが「0.65」に更新されました。拡張機能を更新後にVScodeを再起動すると、下記のようなエラーが表示されました。

image

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」をダウンロードしてきてインストールします。

image

 msiファイルのほうを使えばインストール完了後、環境変数JAVA_HOMEが自動的にJDK11のものに変わってるはずです。

image

 そしたら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"
        }
    ],

image

 これで、もう一度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を再起動してください。これで解決してる、はず、です。

コメントを残す