Java Language Server启动失败表现为No Java runtime configured、状态栏无JDK版本、Ctrl+Space无响应、右键Run灰掉;须通过Java: Configure Java Runtime配置ARM64 JDK的/Contents/Home路径,禁用settings.json中java.home,首次打开.java文件会自动下载约100MB服务器,需确保路径有效、磁盘≥500MB、用户目录无中文或空格,多JDK项目应使用.workspace级.settings.json配置。

Language Server 启动失败的典型表现
VSCode 的 Java 功能(跳转定义、补全、错误提示、Run 按钮)全部依赖 Java Language Server(即 JDT-LS),但它不报错也不弹窗——失败时只表现为:No Java runtime configured、状态栏无 JDK 版本、Ctrl+Space 无响应、右键 Run 灰掉。这不是插件没装,而是服务器根本没起来。
必须用 Java: Configure Java Runtime 面板,别硬写 java.home
VSCode 1.85+ 已弃用 java.home 配置项,直接在 settings.json 里写会失效或冲突。正确路径是:
- 按
Cmd+Shift+P(Mac)或Ctrl+Shift+P(Win/Linux) - 输入
Java: Configure Java Runtime并回车 - 点击
+ Add JDK,粘贴 ARM64 JDK 的/Contents/Home路径
这个路径必须来自 /usr/libexec/java_home -V 输出中带 arm64 标记的那一行,不能是 which java 返回的 Rosetta 路径,也不能结尾带 /bin 或 /jre。
首次打开 .java 文件会自动下载 Language Server
扩展装完重启 VSCode 后,第一次打开项目里的任意 .java 文件,会触发约 100MB 的 Java Language Server 下载和启动。这个过程需要稳定网络(国内建议科学联网),卡在 Starting the Java Language Server 时,检查三件事:
立即学习“Java免费学习笔记(深入)”;
-
java.home指向的路径是否存在且可读(ls -l <path>) - 磁盘剩余空间是否 ≥500MB(服务器解压后需缓存)
- 用户目录路径不含中文或空格(尤其 Windows 的
C:\Users\张三易导致静默失败)
多 JDK 项目要用 workspace 级配置
团队协作或跨项目开发时,全局 java.home 会打架。应在项目根目录建 .vscode/settings.json,内容如下:
{
"java.home": "/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home",
"java.configuration.updateBuildConfiguration": "interactive"
}
删掉用户级 settings.json 里的 java.home,避免覆盖。这个配置只对当前文件夹生效,且 updateBuildConfiguration 设为 interactive 能在新增 pom.xml 时弹窗确认是否启用 Maven 支持——这点常被忽略,但直接影响类路径加载。



















