VSCodeのKotlinというextentionを入れて、remote debugをしようとしたところ発生したエラー。
the kotlin language client server crashed 5 times in the last 3 minutes
同様のエラーはJava extension packを入れた際に一緒に入る、Java Serverも発生するようです。
今回はKotlinですが、解決方法はほぼ一緒ではないかと思います。
原因
- extensionsの競合
- extensions自体が何かで不具合
- Javaのパスが通っていない
- Javaのパスは通っているが、優先順位が下になっている
- Javaのパスを変更したが、再起動していない
- (dockerを使っている場合)ホストマシンからコンテナ絵のポートフォワードが成功していない
- (macの場合)temurinを使用している
- VSCodeをアンインストールし、再度インストールする
- ディレクトリが置かれているパスに日本語がある
- 再起動していない
① extensionsの競合
これはひとつずつ潰していくしかありません。
Lombok Extension消したり、Kotlin Extension消したり色々やる。
② extensions自体が何かで不具合
KotlinのExtensionをアンインストールし、再インストールしてみる。
③ Javaのパスが通っていない
以下のコマンドを叩いて、 %JAVA_HOME%
と出た場合はパスが通っていないためパスを通す。
【参考】https://www.javadrive.jp/start/install/index4.html
¥User > echo %JAVA_HOME%
%JAVA_HOME%
パスが通ると以下のようになる。
¥User > echo %JAVA_HOME%
C¥Program Files¥Java¥jdk-17.0.2
④ Javaのパスは通っているが、優先順位が下になっている
javaのパスは、以下の2つがあるよう。
Windowsの場合、パスの順番で優先順位が異なるため、②のC¥Program Files¥Java¥jdk-17.0.2
を上にする。
※jdkのバージョンは異なります
①C¥Program Files¥Common Files¥Oracle¥Java¥javapath¥java
②C¥Program Files¥Java¥jdk-17.0.2
⑤ Javaのパスを変更したが、再起動していない
④のようなパスを変更した場合、再起動しないと反映されない場合がある。
再起動しましょう。
⑥(dockerを使っている場合)ホストマシンからコンテナへのポートフォワードが成功していない
dockerの設定ファイルを見直しましょう。
⑦(macの場合)temurinを使用いる場合、OpenJDKに変更する
temyrinを用いているとうまくできない時がある模様。temurinをOpen JDKにしてみましょう。
⑧ VSCodeをアンインストールし、再度インストールする
VSCodeを一回消すと直った事例もある模様。
【参考】https://atmarkit.itmedia.co.jp/ait/articles/1810/12/news026.html
⑨ ディレクトリが置かれているパスに日本語がある
例えば C¥User¥ほげほげ
のように、ユーザ名が日本語だったりすると不具合の温床になり得ます。
日本語が原因かもしれません。英語にしましょう。
⑩ 再起動していない
PCを再起動する。
それでもできない場合は最終手段です。シャットダウンして一日寝ましょう。