用于Java远程开发的VS代码设置

问题描述

几周前,vscode将JDK-11强制用于VS-code中的Java开发

The Eclipse Platform has decided to require Java 11 as the minimum requirement for its September 2020 release. See https://www.eclipse.org/lists/eclipse-pmc/msg03821.html.

Because vscode-java depends on the Eclipse JDT.LS,the same requirement applies to vscode-java but on a more agressive timeline: vscode-java usually consumes JDT.LS builds that depend on bleeding edge JDT features,effectively shipping pre-release versions of Eclipse Platform/JDT. As of July 22nd,2020,Java 11 is Now required for running vscode-java. 

来源:vscode

我正在使用remote ssh扩展名连接到我的远程VM(无业游民的ubuntu)。 当我在remote-ssh中打开Java文件时,出现错误消息,提示安装Java 11。

我的流浪汉中已经有Java 11。

我可以在我的VM中看到以下内容

$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64


vagrant@vagrant:/usr/lib/jvm
$ ls
total 24K
drwxr-xr-x   4 root root 4.0K Feb 21  2020 .
drwxr-xr-x 138 root root 4.0K Aug 13 17:57 ..
lrwxrwxrwx   1 root root   25 Feb 20  2019 default-java -> java-1.11.0-openjdk-amd64
lrwxrwxrwx   1 root root   21 Jan 15  2020 java-1.11.0-openjdk-amd64 -> java-11-openjdk-amd64
-rw-r--r--   1 root root 2.0K Jan 15  2020 .java-1.11.0-openjdk-amd64.jinfo
drwxr-xr-x   7 root root 4.0K Feb 21  2020 java-11-openjdk-amd64
lrwxrwxrwx   1 root root   20 Jan 17  2020 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
-rw-r--r--   1 root root 2.7K Jan 17  2020 .java-1.8.0-openjdk-amd64.jinfo
drwxr-xr-x   7 root root 4.0K Feb 21  2020 java-8-openjdk-amd64

我所有的Java项目都依赖于Java-8,因此为了在vscode中工作,我需要java-11

请帮助我设置此环境。

解决方法

最简单的方法是使用以下命令更改您的 java 配置:

sudo alternatives --config java

并选择您想要激活的 Java 版本。