java -version仅验证JRE存在,需javac -version成功输出才确认JDK完整安装;where java或which java可定位实际使用路径,echo %JAVA_HOME%或echo $JAVA_HOME显示配置路径。

直接在终端或命令提示符里输入 java -version,就能快速看到当前默认的 Java 运行时版本——这是最基础、最常用的查看方式。
确认 JDK 是否真正装好:别只信 java -version
java -version 只能说明系统里有 Java 运行环境(JRE),但无法确定你有没有安装完整的 JDK(含编译器)。要验证 JDK 是否完整安装,必须额外执行:
- javac -version:输出成功说明 javac 编译器可用,基本可判定 JDK 已安装并配置正确
- 如果提示
command not found或'javac' 不是内部或外部命令,大概率是只装了 JRE,或 JDK 的bin目录没加进 PATH
区分“命令行用的版本”和“项目实际运行的版本”
你在终端敲 java -version 看到的,只是 PATH 中第一个 java 可执行文件对应的版本。它不等于你的 IDE(如 IntelliJ)、构建工具(如 Maven/Gradle)或 Spring Boot 应用实际启动时用的 JDK。
- IDE 通常在项目设置里单独指定 JDK(比如 Project SDK 或 Java Compiler level)
- Maven 通过
<java.version>或maven-compiler-plugin配置目标版本,但实际运行仍取决于mvn exec:java启动时加载的 JVM - 程序内最权威的方式是运行时调用:
Runtime.version().toString(),它返回 JVM 实际加载的 JDK 版本,不受环境变量干扰
顺手查 JDK 安装路径的几种方法
光知道版本还不够,有时得定位到安装目录。常用方式有:
立即学习“Java免费学习笔记(深入)”;
- java -verbose | head -n 20(Linux/macOS)或 java -verbose 2>&1 | more(Windows):启动时会打印 JVM 加载路径,开头几行通常含 JDK 根目录
- echo %JAVA_HOME%(Windows CMD)或 echo $JAVA_HOME(macOS/Linux):前提是已正确设置该环境变量
- 打开系统环境变量设置,查找
JAVA_HOME的值;若未设置,可在Path变量中找以\bin结尾的路径,倒推其上级目录即为 JDK 根路径
多版本共存时怎么知道当前用的是哪个?
一台机器装多个 JDK 很常见,PATH 决定命令行默认用哪个,但切换靠手动调整:
- 检查
where java(Windows)或which java(macOS/Linux):显示当前java命令的实际位置 - 对比该路径与你已知的 JDK 安装目录(如
C:\Program Files\Java\jdk-17.0.2或/usr/lib/jvm/java-17-openjdk-amd64) - 临时切换:Windows 下可直接运行
"C:\path\to\jdk-21\bin\java.exe" -version;macOS/Linux 下用完整路径调用,如/opt/java/jdk-25/bin/java -version


















