Sublime编写Java代码并直接编译运行的配置方法

云宇大大_7349

云宇大大_7349

2026-06-30

392人浏览

原创

sublime text运行java需先确保终端中javac和java命令可用,再配置构建系统:macos/linux用open -a启动继承环境,windows检查path与java_home,手动编写.sublime-build文件时须设-d .、-encoding utf-8及正确working_dir,并严格匹配package声明与文件路径结构。

sublime编写java代码并直接编译运行的配置方法

Sublime Text 本身不带 Java 编译器或 JVM,所谓“直接编译运行”,本质是让它调用你系统里已装好的 javac 和 java 命令——如果这两个命令在终端都跑不通,所有配置都是白搭。

确认 javac 和 java 在终端能正常执行

这是硬门槛,90% 的失败卡在这步。Sublime 不读 JAVA_HOME,也不加载你的 ~/.zshrc 或 Windows 用户变量,只继承启动时的系统环境变量。

  • macOS/Linux:打开终端,执行 which javac 和 javac -version,必须有输出且版本号一致(比如都是 17.0.2);若无,检查 $JAVA_HOME/bin 是否加入 $PATH
  • Windows:CMD 中运行 where javac 和 javac -version;失败就去“系统属性→高级→环境变量”,确认 Path 包含 %JAVA_HOME%\bin,且 JAVA_HOME 指向 JDK 根目录(不是 JRE)
  • 改完环境变量后,必须彻底退出 Sublime(右键菜单选“退出”,不是关窗口),再重开——否则新变量不会生效

用 JavaC 插件快速编译单文件(无 package、无依赖)

适合写算法题、小工具或刚入门练手,不处理包结构、跨文件引用或外部 jar。

JavaStoryDevelop
JavaStoryDevelop

你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在

下载
  • 通过 Package Control 安装插件时搜 JavaC(作者 r-stein),别选 Java 或 SublimeJava,后者已过时
  • 安装后打开 .java 文件,按 Ctrl+B(Windows/Linux)或 Cmd+B(macOS)即可编译并自动运行
  • 它默认把 .class 输出到源文件同目录,所以如果类声明了 package com.example;,就必须把文件放在 com/example/Hello.java,否则报 error: class Hello is public, should be declared in a file named Hello.java
  • 遇到 cannot find symbol,基本就是引用了其他类但插件没处理——它不支持 -cp 或外部 jar

手动写 Java.sublime-build 支持 package 和多文件

一旦用了 package、多个类、或需要指定类路径,就得自己建构建系统。核心是控制 javac -d 输出位置和 java 的工作目录与类名拼写。

  • 菜单栏 → Tools → Build System → New Build System…
  • 替换为以下内容(Windows 路径用双反斜杠,javac 和 java 必须已在 PATH 中):
    {
      "shell_cmd": "javac -encoding UTF-8 -d \"${file_path}\" \"${file}\" && java -cp \"${file_path}\" \"${file_base_name}\"",
      "file_regex": "^(*?):([0-9]*):?([0-9]*)",
      "working_dir": "${file_path}",
      "selector": "source.java",
      "encoding": "utf-8"
    }
  • 保存为 Java.sublime-build(别用 JavaC 这类名字,避免和插件冲突)
  • 右下角状态栏切换构建系统为它,再按 Ctrl+B / Cmd+B
  • 如果类写了 package com.example;,文件必须放在 com/example/MyApp.java,且 working_dir 设为该文件的父目录(即包含 com/ 的目录),运行时用 java com.example.MyApp,不能用 ${file_base_name}

Could not find or load main class 怎么定位

这不是代码问题,而是构建配置和路径/类名没对上。java 命令不认文件路径,只认类全名,且工作目录必须是包结构的根。

  • 类没写 package:构建里用 java ${file_base_name} 是安全的,但 working_dir 必须设为 ${file_path}
  • 用了 package com.example;:源文件必须放在 com/example/MyApp.java,构建系统的 working_dir 得设成 com 的上一级,shell_cmd 中运行 java com.example.MyApp
  • 中文源码必须加 -encoding UTF-8,否则 javac 默认用系统编码(Windows 是 GBK)读文件,会报“非法字符”
  • 别在 shell_cmd 里硬编码路径,例如 "javac /home/user/MyApp.java"——用 ${file} 和 ${file_base_name} 动态代入才可靠

最易被忽略的是:Sublime 图形界面启动时(比如双击图标)常不继承 shell 环境变量,macOS 用户应改用终端执行 open -a "Sublime Text" 或 subl . 启动;Windows 用户若从开始菜单启动,即使 PATH 正确,也可能因环境变量未完整继承而失败——这时在 env 字段显式写死 JDK 路径更稳妥。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime text java sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.15

10997

6

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

2023.07.05

8122

9

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

2023.07.31

7032

8

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.01

1184

3

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.02

968

3

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

1416

5

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2909

5

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

2023.08.03

20171

3

配置java环境变量
配置java环境变量

配置Java环境变量是为了让操作系统能够识别和使用Java的相关命令和功能。本专题为大家提供配置java环境变量相关文章,帮助大家解决问题。

2023.08.03

1275

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程