VSCode中怎么运行和测试Java项目?【教程】

发布时间 - 2026-01-16 00:00:00    点击率:
VSCode运行Java项目需JDK11+、Java Extension Pack及标准项目结构。须配置java.home指向JDK根目录,安装扩展后重启,Maven/Gradle项目需含pom.xml或build.gradle,测试需Test Runner for Java支持。

VSCode 本身不内置 Java 运行环境,必须配合 JDK + 扩展 + 正确的项目结构才能运行和测试 Java 项目。光装插件或只配 JAVA_HOME 是不够的。

确认 JDK 已正确安装并被 VSCode 识别

VSCode 的 Java 支持依赖本地 JDK(11+ 推荐),且必须通过 java.home 显式指向 JDK 根目录(不是 JRE,也不能指向 bin/java)。

  • 在终端执行 java -versionjavac -version 确保输出一致且版本 ≥ 11
  • 打开 VSCode 设置(Ctrl+,),搜索 java.home,设为类似 /usr/lib/jvm/jdk-17.0.1(Linux/macOS)或 C:\Program Files\Java\jdk-17.0.1(Windows)
  • 重启 VSCode 后,打开一个 .java 文件,底部状态栏应显示 JDK 版本;若提示 “No Java runtime present”,说明路径错误或权限不足

用 Extension Pack for Java 安装必要扩展

单独安装 “Java Extension Pack” 是最稳妥的方式,它自动包含 Language Support for JavaDebugger for JavaTest Runner for Java 等核心组件,缺一不可。

  • 不要只装 “Java” 单个插件——它只提供语法高亮,无法运行或调试
  • 安装后首次打开 .java 文件会触发扩展初始化,可能需要几分钟下载 java-language-server,请保持联网
  • 如果项目使用 Maven 或 Gradle,建议同时安装对应构建工具扩展(如 Extension Pack for Apache Maven),否则右键 Run 可能灰显

项目结构必须符合标准布局才能被识别

VSCode 的 Java 扩展默认按 Maven/Gradle 约定识别源码路径。平铺多个 .java 文件或随意放 src 目录会导致“找不到主类”或“无法解析类型”。

立即学习“Java免费学习笔记(深入)”;

  • Maven 项目:确保有 pom.xml,且 src/main/java 下有带 public static void main(String[] args) 的类
  • 非构建工具项目:手动创建 .vscode/settings.json,添加:
    {
      "java.project.sourcePaths": ["src"],
      "java.project.outputPath": "bin"
    }
  • 右键某个 .java 文件 → Run Java,实际调用的是 java -cp bin com.example.Main;若报错 Error: Could not find or load main class,大概率是 classpath 或包声明不匹配

运行单测要用 Test Runner for Java,不是直接执行 main

VSCode 不支持像 IntelliJ 那样一键运行任意含 @Test 的方法——必须通过 Test Runner for Java(已包含在 Extension Pack 中)识别测试框架(JUnit 4/5 或 TestNG)。

  • 确保测试类在 src/test/java,且依赖已声明(Maven 中需有 junit-jupiter
  • 测试方法必须有 @Test 注解,且不能是 privatestatic
  • 将光标放在测试方法内,点击左上角“▶️ Run Test”按钮,或按 Ctrl+Shift+P → 输入 Java: Run Tests
  • 若测试图标未出现,检查是否打开了正确的文件夹(必须是含 pom.xmlbuild.gradle 的根目录),且 java.test.library 设置为对应版本

最容易被忽略的是:VSCode 的 Java 运行依赖工作区根目录下存在有效构建配置。把一个 Main.java 拖进空文件夹再点运行,99% 会失败——它不是轻量级编辑器,而是靠扩展模拟 IDE 行为,结构松散就失去上下文。


# linux  # java  # vscode  # js  # json  # windows  # apache  # 工具  # mac  # ai  # macos  # win 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在腾讯云免费申请建站?  Laravel如何实现数据库事务?(DB Facade示例)  🚀拖拽式CMS建站能否实现高效与个性化并存?  node.js报错:Cannot find module 'ejs'的解决办法  高端建站如何打造兼具美学与转化的品牌官网?  网站制作免费,什么网站能看正片电影?  网站建设保证美观性,需要考虑的几点问题!  php485函数参数是什么意思_php485各参数详细说明【介绍】  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何快速搭建二级域名独立网站?  iOS验证手机号的正则表达式  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  详解Huffman编码算法之Java实现  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  高端网站建设与定制开发一站式解决方案 中企动力  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  想要更高端的建设网站,这些原则一定要坚持!  移动端脚本框架Hammer.js  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  魔方云NAT建站如何实现端口转发?  音乐网站服务器如何优化API响应速度?  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何在Windows虚拟主机上快速搭建网站?  详解阿里云nginx服务器多站点的配置  Android GridView 滑动条设置一直显示状态(推荐)  如何在万网ECS上快速搭建专属网站?  装修招标网站设计制作流程,装修招标流程?  Laravel怎么判断请求类型_Laravel Request isMethod用法  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何实现API版本控制_Laravel版本化API设计方案  教你用AI润色文章,让你的文字表达更专业  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  千库网官网入口推荐 千库网设计创意平台入口  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  制作企业网站建设方案,怎样建设一个公司网站?  晋江文学城电脑版官网 晋江文学城网页版直接进入  浅谈redis在项目中的应用  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  如何在IIS7中新建站点?详细步骤解析