🔖

VSCode Java拡張エラー

2021/07/24に公開

問題

久々にJavaプロジェクトのコードを開いたら、コードジャンプや補完が効かなくなっていた。

見えているエラー文言

vscode Java 11 or more recent is required to run the Java extension

原因

VSCodeのJava拡張の一つ「Language Support for Java(TM) by Red Hat(0.65)」にてJDK11以上が必須となっていた。

vscode-java requires a Java Development Kit to run (NOT A JRE!). Since vscode-java 0.65.0, Java 11 is the minimum required version.
https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements

解決

  1. JDK11のインストール
  2. vscodeのjava_homeの設定変更
  3. (gradle eclipseの実行)
  4. vscode再起動

JDK11のインストール

下記からインストールするなり、sdkmanやjenvを使えば良い。
https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot

vscodeのjava_homeの設定変更

https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements#setting-the-jdk
↑のリンクの通り、下記の順にJDKが検索されるので、自身の環境に合わせてJDKの設定をすれば良い。

  1. the java.home setting in VS Code settings (workspace then user settings)
  2. the JDK_HOME environment variable
  3. the JAVA_HOME environment variable

gradle eclipseの実行

この件は本件とは直接的な関係はない。
vscodeはeclipseと同じく.classpathをもとにプロジェクトのクラスを読み込めるようになる
ビルドツールにgradleを使っているなら下記の設定で.classpathを作成できる。

build.gradle

plugins {
    id 'eclipse'
}

実行

gradle eclipse

うまくいかない場合のチェック

  • プロジェクトの設定にjava_homeがないか確認する。.vscode/.setteingsにjava_homeがあるとこれが優先される
GitHubで編集を提案

Discussion