如何在 VS Code 中指定 Java 版本?

问题描述 投票:0回答:1

我创建了一个虚拟机来在其中运行一些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限制的工作电脑。

谢谢!

java ubuntu visual-studio-code configuration javac
1个回答
0
投票

首先您的机器必须安装相应的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

© www.soinside.com 2019 - 2024. All rights reserved.