You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code(SSH连接虚拟机)中指定Java 11版本?

解决VS Code SSH连接时指定Java 11版本的问题

问题原因

VS Code通过SSH连接虚拟机时,加载的Shell环境变量与桌面工具(如Nomachine)登录时的环境变量不一致,导致java命令默认指向Java 21而非预设的Java 11。

具体解决方案

1. 临时切换Java版本(终端即时生效)

首先在VS Code的SSH终端中执行以下命令,找到Java 11的安装路径:

update-java-alternatives -l

输出示例:

java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

复制该路径,执行以下命令临时切换:

export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

执行java -version即可验证是否切换成功,此方法仅当前终端会话有效。

2. 全局配置VS Code Java扩展

打开VS Code设置(快捷键Ctrl+,),搜索java.home,点击「编辑 in settings.json」,添加Java 11的路径:

"java.home": "/usr/lib/jvm/java-1.11.0-openjdk-amd64"

保存后重启VS Code,Java扩展将默认使用该版本。

3. 持久化SSH连接的环境变量

若希望每次通过VS Code SSH连接都自动使用Java 11,修改虚拟机的Shell配置文件:

  • 若使用Bash,编辑~/.bashrc,在末尾添加:
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
  • 若使用Zsh,编辑~/.zshrc,添加相同内容。

保存后重新建立SSH连接,终端默认Java版本即为11。

4. 单个项目独立配置

仅针对当前项目指定Java 11,在项目根目录创建.vscode/settings.json文件,写入:

{
    "java.home": "/usr/lib/jvm/java-1.11.0-openjdk-amd64"
}

此配置仅对当前项目生效,不影响全局设置。


内容的提问来源于stack exchange,提问作者kiwidiwi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:22:38