VS Code需通过Extension Pack for Java扩展和手动配置JDK路径才能正确运行Java项目;必须配置java.configuration.runtimes指向JDK而非JRE,生成launch.json并填写全限定mainClass,Maven项目需右键pom.xml重载。

VS Code 本身不原生支持 Java,必须通过扩展和外部工具链协同工作;直接装个插件就跑 main 方法是行不通的。
装对扩展:只留 Extension Pack for Java
别手动逐个装 Language Support for Java、Debugger for Java 等——它们已打包进官方推荐的 Extension Pack for Java。卸载所有零散 Java 相关扩展,只启用这一个。否则容易出现 ClassNotFoundException 或断点不生效,因为多个调试器实例会抢 launch.json 控制权。
- 安装后重启 VS Code,确保状态栏右下角显示
Java 17(或你实际用的 JDK 版本) - 如果没显示,说明
JAVA_HOME未正确配置,或 VS Code 没读到系统环境变量(macOS/Linux 用户注意:从终端启动code而非桌面图标) - 扩展依赖
Project Lombok插件需单独启用,但仅当项目用了@Data等注解时才需要
JDK 必须手动指定,不能靠“自动检测”
VS Code 的 Java 扩展默认尝试找系统 PATH 里的 java,但往往找到的是 JRE 而非 JDK,导致编译失败(报错 The project was not built since its build path is incomplete)。必须显式指向完整 JDK 路径。
- 打开设置(
Ctrl+,),搜索java.configuration.runtimes - 编辑
settings.json,添加如下片段(路径按你本地 JDK 实际位置改):
"java.configuration.runtimes": [
{
"name": "JavaSE-17",
"path": "/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
}
]
Windows 用户路径类似 C:\\Program Files\\Java\\jdk-17.0.1;注意反斜杠要双写或用正斜杠。
立即学习“Java免费学习笔记(深入)”;
launch.json 不是可选配置,而是调试刚需
没有 .vscode/launch.json,点击“运行”按钮只会提示 No launch configuration found。VS Code 不像 IntelliJ 那样能自动推导主类入口。
- 按
Ctrl+Shift+D→ 点“create a launch.json file” → 选Java→ 选Java Program - 生成的模板里,
mainClass必须填全限定名,比如com.example.HelloWorld,不能只写HelloWorld - 若类在默认包(没写
package),mainClass就直接写类名,但强烈建议避免默认包——很多扩展功能(如测试发现)会失效 - 需要传参?在
args字段加数组:"args": ["--verbose", "input.txt"]
常见卡点:Maven 项目识别失败或依赖不加载
如果打开的是 Maven 项目但没看到 src/main/java 被识别为源码根目录,或 import 报红,大概率是扩展没触发项目导入。
- 确保项目根目录有
pom.xml,且文件不为空 - 右键
pom.xml→ “Reload project”,等待右下角提示“Importing…”完成 - 如果仍失败,检查
pom.xml中是jar或war,而非pom(后者是父 POM,不包含代码) - Maven 仓库路径被自定义过?在设置中配置
java.configuration.maven.userSettings指向你的settings.xml
真正麻烦的不是配置步骤多,而是每个环节都依赖前一步的输出——JDK 路径错,扩展起不来;扩展起不来,launch.json 就生成不了正确模板;模板错,调试器连 JVM 都没机会启动。










