VS Code 运行 Java 代码:插件安装与 JDK 配置全流程

顾言
顾言
发布时间:2026-10-29| 8人浏览过
原创

完整介绍在 Visual Studio Code 中配置与运行 Java 代码的实操全流程,包含 JDK 下载与安装验证、Extension Pack for Java 扩展包配置、双层 JDK 运行机制解析、环境配置方案对比及常见报错排查。

在 Visual Studio Code(简称 VS Code)中运行 Java 代码,核心在于打通“底层开发工具包(JDK)”与“编辑器语言扩展包(Extension Pack for Java)”之间的协作链路。VS Code 本身是一个通用型轻量文本编辑器,其代码补全、语法解析、项目构建与调试能力均依托于外部插件与独立语言服务器。本文按实际操作顺序,从安装并验证本地 JDK 开始,详细讲解插件配置、双层 JDK 运行机制以及代码执行与调试的全流程。

VS Code 运行 Java 代码:插件安装与 JDK 配置全流程
图 1:VS Code 运行 Java 代码全流程四阶段推进图

一、本地 JDK 的准备与验证

Java 开发工具包(Java Development Kit,简称 JDK)包含 Java 编译器(javac)、运行时环境(JRE)及核心类库。VS Code 无法在没有 JDK 的前提下独立编译或执行 Java 代码。

1. 版本选择要求

在选择 JDK 版本时,需要满足两个硬性约束:

  • 长期支持版(LTS):日常开发优先选用 Java 17 或 Java 21 等官方长期维护版本。
  • VS Code 语言服务最低门槛:负责后台语法高亮与分析的 Eclipse JDT.LS 插件本身要求必须在 JDK 17 或更高版本的环境中启动。若本地仅安装了 JDK 8 或 JDK 11,语言服务将直接报错无法就绪。

发行版可选用开源且稳定的构建版本,例如 Eclipse Temurin(Adoptium 开源社区)、Amazon Corretto、Oracle OpenJDK 或 Microsoft Build of OpenJDK。

2. 命令行环境验证

安装完成后,打开操作系统的终端(macOS/Linux 为 Terminal,Windows 为 PowerShell 或 CMD),执行以下两条命令核实安装有效性:

java -version
javac -version

预期返回示例如下(以 Temurin JDK 21 为例):

openjdk version "21.0.2" 2024-01-16
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13, mixed mode, sharing)

javac 21.0.2

若终端提示未找到命令,说明安装过程中未将 JDK 的 bin 目录写入系统 PATH 环境变量,需要完成环境变量配置后重新启动终端。

二、在 VS Code 中安装 Java 核心扩展包

VS Code 官方提供了官方维护的扩展合辑,无需逐一检索散装插件。

  1. 在 VS Code 左侧活动栏中点击“扩展”图标(或使用快捷键 Ctrl+Shift+X / Cmd+Shift+X)。
  2. 在搜索框中输入 Extension Pack for Java,确认作者为 Microsoft。
  3. 点击 Install 进行安装。

该扩展包会自动捆绑安装 6 个协作组件:

  • Language Support for Java™ by Red Hat:提供基于 Eclipse JDT 的智能代码补全、语法高亮、错误检查及重构支持。
  • Debugger for Java:基于 Java Debug Wire Protocol(JDWP)的高性能调试器,支持断点、调用栈查看与变量监视。
  • Test Runner for Java:支持 JUnit 4/5 及 TestNG 单元测试的识别与可视化运行。
  • Maven for Java:提供 Maven 项目模型识别、依赖树查看及生命周期命令执行。
  • Project Manager for Java:在侧边栏以逻辑树状图管理 Java 模块与依赖包。
  • Visual Studio IntelliCode:基于机器学习的代码推荐助手。

三、VS Code 中的 JDK 配置与工作原理

初学者容易遇到的困惑在于:明明全局安装了 JDK,为什么 VS Code 仍然提示路径找不到,或者运行项目时版本不一致?理解 VS Code 的双层 JDK 运行架构是解决该问题的核心。

VS Code 运行 Java 代码:插件安装与 JDK 配置全流程
图 2:VS Code Java 插件架构与语言服务/目标运行时解耦模型

配置 settings.json

可以通过按 Ctrl+,(macOS 为 Cmd+,)打开设置界面,点击右上角的“打开设置 (JSON)”按钮进入配置文件,显式指定语言服务及各个运行时的绝对路径:

{
  // 1. 指定用于启动 Java 语言服务本身的 JDK 路径(必须 >= Java 17)
  "java.jdt.ls.java.home": "/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home",

  // 2. 配置供各个项目编译与执行的目标运行时集合
  "java.configuration.runtimes": [
    {
      "name": "JavaSE-21",
      "path": "/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home",
      "default": true
    },
    {
      "name": "JavaSE-17",
      "path": "/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home"
    },
    {
      "name": "JavaSE-1.8",
      "path": "/Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home"
    }
  ]
}
注意事项(Windows 路径转义)

Windows 用户在 JSON 中书写反斜杠路径时,必须使用正斜杠(/)或双反斜杠(\\),例如:"C:/Program Files/Eclipse Adoptium/jdk-21.0.2-hotspot"。

四、方案对比:系统全局变量 vs VS Code 独立运行时

在配置 Java 开发环境时,开发者通常有两种不同思路:一种是直接依赖操作系统的全局环境变量(JAVA_HOME),另一种是在 VS Code 内部配置独立的运行时映射(java.configuration.runtimes)。理解这两种方式的实际差异,有助于在单工程开发与多版本维护场景中做出正确选择。

VS Code 运行 Java 代码:插件安装与 JDK 配置全流程
图 3:全局环境变量模式与 VS Code 独立运行时隔离对比
对比维度 方案 A:系统全局 JAVA_HOME 方案 B:VS Code 运行时映射 (runtimes)
配置生效范围 系统所有进程与独立终端默认继承。 仅在 VS Code 编辑器及其内部启动的子进程生效。
多版本共存性 较差。同一时间只能激活单个全局指向,切换成本高。 极佳。可在列表中声明多个版本,由项目配置按需挑选。
团队配置迁移 依赖每位开发人员手动在各自操作系统中配置相同环境变量。 可将通用规则写入项目 .vscode/settings.json 统一协作。
环境洁净度 容易因软件升级或多个安装路径引发环境变量冲突。 不更改操作系统注册表或系统全局变量,安全绿色。

五、创建与运行首个 Java 程序

在 VS Code 中执行 Java 代码主要分为“独立源码文件”与“项目工程”两种形态。对于初学者或日常算法调试,单文件方式最为直接。

1. 编写代码示例

新建一个文件夹并在 VS Code 中打开,创建一个名为 HelloWorld.java 的文件。注意:文件名必须与公共类名完全一致。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, VS Code Java Environment!");
        
        int sum = 0;
        for (int i = 1; i <= 5; i++) {
            sum += i;
        }
        System.out.println("1 到 5 的累加和为: " + sum);
    }
}

2. 代码执行方式

当安装了 Extension Pack for Java 后,VS Code 提供了多种便捷的运行入口:

  • CodeLens 快捷按钮:在编辑器内部,main 方法声明上方会出现灰色的 Run | Debug 小字,直接鼠标点击 Run 即可就地编译并启动。
  • 右上角操作按钮:点击编辑器右上角的三角播放图标(▶),选择“Run Java”。
  • 标准快捷键:按下 F5(以调试模式运行)或 Ctrl+F5(不调试直接执行)。

3. 输出位置与标准输入处理

执行结果默认会在下方的“终端(Terminal)”选项卡中输出。如果程序涉及控制台交互输入(如使用 Scanner(System.in)),必须确保输出通道为集成终端而非调试控制台(Debug Console),因为调试控制台默认只读,无法接收键盘输入。可在 .vscode/launch.json 中明确指定:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "java",
      "name": "Current File",
      "request": "launch",
      "mainClass": "${file}",
      "console": "integratedTerminal"
    }
  ]
}

六、全流程闭环检查与常见问题排查

当执行过程中遇到异常时,无需盲目重装,遵循以下闭环检查清单逐级排查即可精确定位问题源头。

VS Code 运行 Java 代码:插件安装与 JDK 配置全流程
图 4:VS Code 运行 Java 代码全流程排查与验证链条

常见高频问题与修复对策

  • 问题一:提示 “Java 17 or more recent is required to run the Java extension”
    原因:用于承载 VS Code 插件后台服务的 JDK 版本低于 17。
    对策:下载安装 JDK 17 或 21,并在 settings.json 中为 java.jdt.ls.java.home 指定该新版本路径。项目本身仍可在 java.configuration.runtimes 中保留使用较低版本的 JDK。
  • 问题二:点击 Run 后,终端报 “编码 GBK 的不可映射字符” 或中文乱码
    原因:Windows 默认控制台代码页(CP936)与源文件 UTF-8 编码不匹配。
    对策:在 VS Code 设置中搜索 java.jdt.ls.vmargs,加入参数 -Dfile.encoding=UTF-8;同时确保源文件右下角状态栏的编码标识为 UTF-8。
  • 问题三:类文件中没有出现 Run / Debug 按钮
    原因:Java 扩展尚未就绪,或当前打开的是单个孤立文件且语言模式未识别。
    对策:查看窗口右下角状态栏是否有旋转的“Java”图标;确保打开的是整个工作区文件夹,且文件名与 public class 类名一致;若仍未就绪,按 F1 搜索执行 Java: Clean Java Language Server Workspace 清理缓存并重启。
相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。