vscode如何支持Java开发_从环境配置到运行调试的全流程是什么【教程】
发布时间 - 2026-01-22 00:00:00 点击率:次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;注意反斜杠要双写或用正斜杠。
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 都没机会启动。
# linux
# java
# vscode
# js
# json
# windows
# 工具
# mac
# ai
# macos
# 环境变量
# win
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python函数文档自动校验_规范解析【教程】
如何快速辨别茅台真假?关键步骤解析
5种Android数据存储方式汇总
奇安信“盘古石”团队突破 iOS 26.1 提权
如何快速生成ASP一键建站模板并优化安全性?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
PythonWeb开发入门教程_Flask快速构建Web应用
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何基于云服务器快速搭建个人网站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Laravel如何实现多对多模型关联?(Eloquent教程)
香港服务器部署网站为何提示未备案?
Python3.6正式版新特性预览
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Bootstrap CSS布局之列表
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何彻底删除建站之星生成的Banner?
iOS验证手机号的正则表达式
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
,网页ppt怎么弄成自己的ppt?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel模型事件有哪些_Laravel Model Event生命周期详解
清除minerd进程的简单方法
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Laravel如何使用Eloquent进行子查询
如何在宝塔面板创建新站点?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Swift开发中switch语句值绑定模式
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
C++时间戳转换成日期时间的步骤和示例代码
如何在阿里云香港服务器快速搭建网站?
Laravel安装步骤详细教程_Laravel环境搭建指南
Python数据仓库与ETL构建实战_Airflow调度流程详解
如何在宝塔面板中创建新站点?
独立制作一个网站多少钱,建立网站需要花多少钱?
北京企业网站设计制作公司,北京铁路集团官方网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Python文件流缓冲机制_IO性能解析【教程】
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用

