我创建了一个虚拟机来在其中运行一些java代码,并指定VM使用java 11运行
ubuntu@go-v12as34df:~$ java -version
openjdk version "11.0.21" 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
到这里一切都还好。当我通过 nomachine 或类似方式连接到虚拟机时,一切正常。
但是当我使用 Visual Studio Code 通过 ssh 登录时,会出现:
ubuntu@go-v12as34df:~$ java -version
openjdk version "21.0.2" 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
但是当我通过 nomachine 打开 VS Code 时不会发生这种情况...
当我检查“为项目配置运行时”时,它也会显示项目的 pom 文件中指定的 Java 版本 11,所以没问题。
如何在 VS Code 中指定 java 版本为 Java 11?我已经尝试过
sudo update-java-alternatives
,但它不起作用,并且无法在我的主电脑上下载Java版本,因为它是受公司IT限制的工作电脑。
谢谢!
首先您的机器必须安装相应的JDK版本,然后您可以使用以下设置指定JDK:
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/usr/local/jdk1.8.0_201"
},
{
"name": "JavaSE-11",
"path": "/usr/local/jdk-11.0.3",
"sources" : "/usr/local/jdk-11.0.3/lib/src.zip",
"javadoc" : "https://docs.oracle.com/en/java/javase/11/docs/api",
"default": true
},
{
"name": "JavaSE-12",
"path": "/usr/local/jdk-12.0.2"
},
{
"name": "JavaSE-13",
"path": "/usr/local/jdk-13"
}
]
https://code.visualstudio.com/docs/java/java-project#_configure-runtime-for-projects