杰瑞科技汇

Sublime Text如何配置Java编译运行?

下面我将为你提供两种最主流、最可靠的方法:

Sublime Text如何配置Java编译运行?-图1
(图片来源网络,侵删)
  1. 手动配置(推荐,最稳定) - 通过修改 Sublime Text 的配置文件来指定 JDK 的路径。
  2. 使用插件(方便快捷) - 安装插件,让插件自动处理路径问题。

前提条件:你必须先安装 JDK

在开始之前,请确保你的电脑上已经安装了 Java Development Kit (JDK),你可以通过在终端或命令提示符中运行以下命令来检查:

javac -version

如果能看到类似 javac 17.0.2 的输出,说明你已经安装了 JDK,如果提示“不是内部或外部命令...”,说明 JDK 的 bin 目录没有添加到系统环境变量 Path 中。请先解决这个问题,否则以下所有配置都无法成功。


手动配置构建系统(最稳定、推荐)

这种方法的核心是告诉 Sublime Text 你的 javac.exejava.exe 分别在哪个位置。

步骤 1:找到 JDK 的安装路径

你需要找到 JDK 的安装目录,通常是类似这样的路径:

Sublime Text如何配置Java编译运行?-图2
(图片来源网络,侵删)
  • Windows: C:\Program Files\Java\jdk-17.0.2\bin
  • macOS: /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home/bin
  • Linux: /usr/lib/jvm/java-11-openjdk-amd64/bin

请务必确认你自己的 JDK 版本和安装路径。

步骤 2:创建 Sublime Text 的构建系统文件

  1. 打开 Sublime Text。

  2. 点击菜单栏的 Tools > Build System > New Build System...

  3. Sublime Text 会弹出一个新的空文件。删除里面所有默认内容,然后复制并粘贴以下代码。

    Sublime Text如何配置Java编译运行?-图3
    (图片来源网络,侵删)

    请务必根据你的操作系统和 JDK 路径修改 PATHCLASSPATH 变量。

    {
        "cmd": ["javac", "-encoding", "UTF-8", "$file_name", "&&", "java", "-cp", ".", "$file_base_name"],
        "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
        "selector": "source.java",
        "encoding": "GBK",
        "windows": {
            "shell": true,
            "path": "C:\\Program Files\\Java\\jdk-17.0.2\\bin" // <-- 【关键】修改为你的 JDK bin 目录
        },
        "linux": {
            "path": "/usr/lib/jvm/java-11-openjdk-amd64/bin" // <-- 【关键】修改为你的 JDK bin 目录
        },
        "osx": {
            "path": "/Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home/bin" // <-- 【关键】修改为你的 JDK bin 目录
        },
        "env": {
            "CLASSPATH": "." // 设置当前目录为类路径
        }
    }

    代码解释:

    • "cmd": 这是核心命令。
      • javac -encoding UTF-8 $file_name: 使用 javac 编译当前文件,并指定编码为 UTF-8(防止中文乱码)。
      • &&: 只有当前面的 javac 命令成功执行后,才会执行后面的 java 命令。
      • java -cp . $file_base_name: 使用 java 运行编译后的 .class 文件。-cp . 表示在当前目录下查找类文件,$file_base_name 是不带扩展名的文件名(即 HelloWorld)。
    • "file_regex": 用于在 Sublime Text 的控制台高亮显示编译错误信息。
    • "selector": 指定这个构建系统只对 .java 文件生效。
    • "encoding": 指定 Sublime Text 控制台的输出编码,Windows 下建议使用 GBK 以兼容旧版 JDK 的输出。
    • "windows", "linux", "osx": 针对不同操作系统的配置。"path" 是最重要的,它必须指向你 JDK 的 bin 目录。 shell: true 表示在 Windows 下使用命令行来执行命令。
    • "env": 设置环境变量。"CLASSPATH": "." 非常重要,它告诉 Java 虚拟机在当前工作目录(也就是你的 .java 文件所在目录)中查找 .class 文件。
  4. 保存这个文件,Sublime Text 会默认将其保存在 Packages/User 目录下,文件名类似 untitled.sublime-build请将其重命名为一个有意义的名字,JavaC.sublime-build

步骤 3:使用构建系统

  1. 打开你的 Java 源代码文件(HelloWorld.java)。
  2. 点击菜单栏的 Tools > Build System,选择你刚刚创建的 JavaC(或其他你自定义的名字)。
  3. Ctrl + B (Windows/Linux) 或 Cmd + B (macOS) 来执行构建(编译和运行)。

如果一切配置正确,你将在 Sublime Text 底部的控制台看到程序的输出结果,如果编译失败,控制台会显示具体的错误行号和原因。


使用插件(方便快捷)

如果你不想手动配置路径,可以使用插件来自动完成,这里推荐 SublimeJEDI,它不仅能自动补全,还包含构建系统。

步骤 1:安装 Package Control

如果你的 Sublime Text 还没有安装 Package Control,请先安装,这是 Sublime Text 插件管理器。

  • 访问官网:https://packagecontrol.io/installation
  • 根据你的 Sublime Text 版本,复制对应的 Python 代码。
  • Ctrl + ~ (Windows/Linux) 或 Cmd + ~ (macOS) 打开 Sublime Text 的控制台,粘贴代码并回车,重启 Sublime Text。

步骤 2:安装 SublimeJEDI 插件

  1. Ctrl + Shift + P (Windows/Linux) 或 Cmd + Shift + P (macOS) 打开命令面板。
  2. 输入 Package Control: Install Package 并回车。
  3. 在弹出的列表中,输入 SublimeJEDI 并选择它进行安装。

步骤 3:配置 SublimeJEDI 以支持 Java

  1. 打开你的 Java 文件。
  2. Ctrl + Shift + P (Windows/Linux) 或 Cmd + Shift + P (macOS) 打开命令面板。
  3. 输入 SublimeJEDI: Select Interpreter 并回车。
  4. 在弹出的列表中,选择你的 java.exe 路径,SublimeJEDI 通常会自动检测到,如果没有,你需要手动导航到 JDK 的 bin 目录下选择 java.exe

步骤 4:使用插件构建

安装并配置好 SublimeJEDI 后,你可以直接按 Ctrl + B (Windows/Linux) 或 Cmd + B (macOS) 来编译和运行 Java 文件,插件会自动调用你选择的 Java 环境。


常见问题与解决方案

  1. 问题:'javac' is not recognized as an internal or external command...

    • 原因:Sublime Text 找不到 javac.exe,最常见的原因是 JDK 的 bin 目录没有被添加到系统环境变量 Path 中。
    • 解决:请先确保你的系统环境变量 Path 已经正确配置了 JDK 的 bin 目录,如果不想配置环境变量,必须使用方法一,在构建系统文件中明确指定 "path"
  2. 问题:Error: Could not find or load main class HelloWorld

    • 原因:Java 虚拟机在当前目录下找不到 HelloWorld.class 文件。
    • 解决
      • 确保你编译的文件名和 public class 的名字完全一致(包括大小写)。
      • 确保 CLASSPATH 设置正确,在我的手动配置中,"CLASSPATH": "." 已经解决了这个问题。
      • 如果你在一个包中(package com.example;),你需要从包的根目录运行 java com.example.HelloWorld,手动配置的构建系统可能无法处理这种情况,这时你需要修改 cmd 命令。
  3. 问题:中文乱码

    **原因

分享:
扫描分享到社交APP
上一篇
下一篇