JDK安装成功且环境变量配置正确的核心验证是:java -version和javac -version均返回版本号;JAVA_HOME需指向JDK根目录(非bin),且IDE需单独配置JDK路径。

直接在终端运行 java -version 和 javac -version,两个命令都返回版本号且无“command not found”或“无法识别的命令”报错,就说明 JDK 安装成功且环境变量配置正确。
检查 java 和 javac 是否可用
这是最核心的验证动作。JDK 安装后必须同时提供运行时(java)和编译器(javac),缺一不可:
-
java -version输出类似java version "17.0.1" 2021-10-19 LTS表示 JRE 部分正常 -
javac -version输出类似javac 17.0.1才真正说明 JDK 完整安装到位 - 如果
java可用但javac报错,大概率是只装了 JRE,或 PATH 指向了 JRE 目录而非 JDK 的bin - Windows 用户注意:CMD 和 PowerShell 是独立的会话,改完环境变量后要新开终端才生效
确认 JAVA_HOME 是否设置正确
很多构建工具(Maven、Gradle、IDE)依赖 JAVA_HOME 环境变量定位 JDK 根目录,仅靠 PATH 不够:
- Linux/macOS:运行
echo $JAVA_HOME,输出应为 JDK 安装路径(如/usr/lib/jvm/java-17-openjdk-amd64),且该路径下必须存在bin/javac和lib目录 - Windows:运行
echo %JAVA_HOME%,结果应类似C:\Program Files\Java\jdk-17.0.1,注意路径中不能有空格或中文(否则部分工具会解析失败) -
JAVA_HOME值不能以\bin结尾;它必须指向 JDK 根目录,不是bin子目录
写个最小 Java 类验证编译与执行全流程
光看版本号还不够,得走通从源码到字节码再到运行的完整链路:
立即学习“Java免费学习笔记(深入)”;
public class Hello {
public static void main(String[] args) {
System.out.println("OK");
}
}
保存为 Hello.java 后依次执行:
-
javac Hello.java—— 应生成Hello.class,无任何错误输出 -
java Hello—— 注意不加.class后缀,输出OK - 若报错
UnsupportedClassVersionError,说明javac和java版本不一致(比如用 JDK 17 编译,却用 JRE 8 运行) - 若报错
NoClassDefFoundError或ClassNotFoundException,常见原因是当前目录不在 classpath 中,可显式加-cp .:java -cp . Hello
最容易被忽略的是:IDE(如 IntelliJ 或 Eclipse)可能自带嵌入式 JRE,它不读系统 JAVA_HOME,也不受系统 PATH 影响——所以终端验证通过,不代表 IDE 里能跑。务必在 IDE 的项目结构(Project Structure)或设置(Settings → Build → Java Compiler)里单独指定 JDK 路径。










