为什么需要查看Java版本
在开发、测试或部署Java应用程序时,确认当前系统安装的Java版本至关重要,不同版本的Java可能存在语法差异、API兼容性问题或性能优化,例如Java 8与Java 11在模块系统(JPMS)、Lambda表达式等特性上就有显著区别,某些框架或工具(如Spring Boot、Hadoop)对Java版本有明确要求,版本不匹配可能导致程序无法启动或运行异常,掌握在Windows命令提示符(CMD)中快速、准确地查看Java版本的方法,是每个Java开发者和运维人员的基本技能。

使用java -version命令查看Java版本
基本操作步骤
在CMD中查看Java版本最常用的命令是java -version,具体操作如下:
- 第一步:打开CMD
按下Win + R键,输入cmd并回车,即可打开命令提示符窗口。 - 第二步:输入命令
在光标处输入java -version(注意java和-version之间有空格),然后按下回车键。 - 第三步:查看输出结果
如果系统已正确配置Java环境变量,CMD会返回类似以下的信息:java version "1.8.0_321" Java(TM) SE Runtime Environment (build 1.8.0_321-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)输出结果包含三部分:Java运行时环境版本(如
8.0_321)、JRE构建信息(如build 1.8.0_321-b07)以及JVM(Java虚拟机)版本和运行模式(如64-Bit Server VM, mixed mode)。
输出结果的含义解读
- Java版本号:通常以“1.x.x”或“x.x.x”格式呈现,例如
8.0_321(即Java 8 Update 321)或0.15(即Java 11),下划线_后的数字表示更新版本号,数字越大通常包含越多的安全修复和功能优化。 - 运行时环境(JRE):提供Java程序运行所需的基础库和虚拟机,分为标准版(SE)、企业版(EE)和微版(ME),大多数开发场景使用SE。
- 虚拟机(JVM):负责执行Java字节码,常见的有HotSpot(Oracle官方)、OpenJDK等。
mixed mode表示JVM同时使用解释模式和编译模式(JIT),以平衡启动速度和运行效率。
命令的注意事项
- 区分大小写:
-version中的v必须小写,否则会提示“’VERSION’ 不是内部或外部命令,也不是可运行的程序或批处理文件”。 - 环境变量配置:如果提示“’java’ 不是内部或外部命令,也不是可运行的程序或批处理文件”,说明系统未正确配置
JAVA_HOME环境变量或Path变量未包含Java的bin目录,此时需先安装JDK并配置环境变量(后文会详细说明)。
通过javac -version查看Java编译器版本
除了java -version,还可以使用javac -version命令查看Java编译器(JDK的一部分)版本,进一步验证Java开发工具包的安装情况。

操作步骤
在CMD中输入javac -version并回车,若JDK已安装,输出如下:
javac 1.8.0_321
该版本号应与java -version返回的JDK版本一致,若不一致(例如java版本为1.8,javac版本为11),可能存在多个Java版本冲突,需检查环境变量配置。
java -version与javac -version的区别
java -version:检查JRE版本,适用于运行Java程序;javac -version:检查JDK版本,适用于编译Java源代码(.java文件)。
若仅安装JRE(无JDK),则javac命令不可用,适合纯运行环境(如部署服务器)。
Java环境变量未配置时的排查与解决
当执行java -version或javac -version提示命令不存在时,通常是因为系统未找到Java可执行文件,以下是排查和配置环境变量的步骤:

检查Java是否安装
- 通过文件管理器验证:Java安装后,默认路径为
C:\Program Files\Java\(64位系统)或C:\Program Files (x86)\Java\(32位系统),若该目录下存在jdk-1.x.x_x或jre-1.x.x_x文件夹,说明已安装,需确认路径是否正确。 - 使用
where命令:在CMD中输入where java,若返回Java安装路径(如C:\Program Files\Java\jdk-1.8.0_321\bin\java.exe),说明Java已安装但环境变量未配置;若无输出,则需重新安装Java。
配置环境变量
- 设置
JAVA_HOME:- 右键“此电脑”→“属性”→“高级系统设置”→“环境变量”;
- 在“系统变量”中点击“新建”,变量名输入
JAVA_HOME,变量值输入JDK的根目录(如C:\Program Files\Java\jdk-1.8.0_321); - 点击“确定”保存。
- 修改
Path变量:- 在“系统变量”中找到
Path并双击; - 点击“新建”,输入
%JAVA_HOME%\bin(或直接添加JDK的bin目录路径,如C:\Program Files\Java\jdk-1.8.0_321\bin); - 将
%JAVA_HOME%\bin上移至列表顶部,确保系统优先使用该路径中的Java命令。
- 在“系统变量”中找到
- 验证配置:重新打开CMD,执行
java -version和javac -version,若能正常输出版本信息,说明配置成功。
多版本Java环境下的版本切换
开发中常遇到需要在不同Java版本间切换的情况(如项目A需Java 8,项目B需Java 11),以下是两种常用方法:
使用JAVA_HOME动态切换
- 修改
JAVA_HOME的值为目标JDK路径(如切换至Java 11时,将JAVA_HOME改为C:\Program Files\Java\jdk-11.0.15); - 重新打开CMD(环境变量变更需重启CMD生效),执行
java -version验证版本。
优点:操作简单,适合临时切换;缺点:需手动修改环境变量,效率较低。
使用工具(如jenv、SDKMAN!)
- jenv(跨平台):通过
jenv add <java_version>添加Java版本,jenv global <version>设置全局版本,jenv local <version>设置项目局部版本。 - SDKMAN!(Linux/macOS优先):提供Java版本管理、切换等功能,命令类似
sdk list java查看版本,sdk use java 11.0.15切换版本。
优点:自动化管理,适合多版本频繁切换场景;缺点:需额外安装工具。
在CMD中查看Java版本是Java开发的基础操作,核心命令java -version和javac -version能快速返回运行时和编译器版本信息,若命令不可用,需排查Java安装情况并正确配置JAVA_HOME与Path环境变量,对于多版本管理场景,可通过动态修改环境变量或使用专业工具实现灵活切换,掌握这些方法,能有效避免因版本不匹配导致的开发问题,提升工作效率。



















