JDK最小运行环境只需javac和java命令,下载JDK压缩包解压后临时配置PATH,手写HelloWorld.java并确保文件名、类名、main方法三者严格一致,编译运行时注意路径、大小写及-classpath分隔符。

装JDK就足够,别碰IDEA或Eclipse的“全家桶”安装包
Java最小可运行环境的核心只有 javac 和 java 两个命令,它们来自JDK。你不需要下载IDE、Maven、Gradle、甚至不需要配置 JAVA_HOME(只要不跨终端复用,临时用 PATH 就够了)。
- 去 Eclipse Temurin 或 jdk.java.net 下载对应系统的JDK(推荐JDK 17或21 LTS版本),选
.zip或.tar.gz包,不是.exe安装器 -
解压到一个无空格、无中文路径下,例如
C:\dev\jdk-17.0.1或/opt/jdk-17.0.1 - 临时加进
PATH:
Windows:在CMD中执行set PATH=C:\dev\jdk-17.0.1\bin;%PATH%
macOS/Linux:在终端执行export PATH="/opt/jdk-17.0.1/bin:$PATH" - 验证:
javac -version和java -version输出一致且不报错
写HelloWorld.java必须手敲,别用IDE自动生成
IDE隐藏了源文件名、类名、目录结构三者强绑定的规则,新手一依赖就卡在“找不到主类”。手动写才能暴露关键约束。
- 新建文件必须叫
HelloWorld.java(注意大小写) - 文件里唯一
public类名必须是HelloWorld,且与文件名完全一致 - 类里必须有
public static void main(String[] args)方法 - 不要加
package声明——除非你明确建了对应目录层级
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
保存后,在同一目录下运行:javac HelloWorld.java → 生成 HelloWorld.classjava HelloWorld → 注意:这里**不加 .class 后缀**,也不写 java HelloWorld.class
遇到“Error: Could not find or load main class”先查三件事
这是最小环境里最常卡住的问题,90%和路径、大小写、类名绑定有关,跟JDK版本或环境变量关系不大。
- 当前终端工作目录是否就是
HelloWorld.java所在目录?cd进去再试 - 运行
java命令时,类名是否和.java文件名、public class名字**逐字符一致**(包括大小写)? - 有没有多编译出别的
.class文件(比如删掉旧的HelloWorld.class,重新javac)? - 如果用了
package com.example;,就必须把文件放进com/example/HelloWorld.java目录,并在com的父目录下运行java com.example.HelloWorld
不需要Maven也能管理依赖,但得懂jar包怎么“塞进去”
最小环境跑单个类没问题,但一旦要用 org.json.JSONObject 这类第三方库,就得手动处理类路径。Maven是自动化的,但底层逻辑就是告诉 java 命令:“这些jar也在搜索范围内”。
立即学习“Java免费学习笔记(深入)”;
- 下载
json-20231013.jar这类独立jar(去 Maven Central 找) - 把它和你的
HelloWorld.class放在同一目录 - 运行时用
-cp(或-classpath)显式指定:java -cp ".;json-20231013.jar" HelloWorld(Windows,分号分隔)java -cp ".:json-20231013.jar" HelloWorld(macOS/Linux,冒号分隔) -
.表示当前目录,必须带上,否则HelloWorld.class自己都找不到
真正容易被忽略的是分隔符:Windows用 ;,其他系统用 :,写反了就彻底静默失败——连错误提示都不会出来。










