Linux如何查看JDK版本
- Linux
- 2025-06-15
- 2250
java -version可查看当前默认JDK版本,使用
 update-alternatives --list java可列出所有已安装JDK路径及其版本,
 javac -version则用于验证JDK编译器版本。
在Linux系统中,查看JDK(Java Development Kit)版本是开发者或系统管理员常见的需求,用于确保Java环境正确配置、兼容应用程序或调试问题,JDK包含Java运行时环境(JRE)和开发工具(如编译器),因此查看版本能帮助确认安装的Java类型(如OpenJDK或Oracle JDK)及其详细信息,以下方法基于标准Linux命令行操作,适用于大多数发行版(如Ubuntu、CentOS、Debian),操作前,请确保已安装JDK;如果未安装,可使用包管理器(如apt或yum)安装OpenJDK。
方法1:使用java -version命令(查看Java运行时版本)
 
这是最直接的方法,显示Java运行时环境(JRE)的版本,JRE是JDK的一部分,适用于所有JDK安装。
- 打开终端:在Linux桌面环境中,按Ctrl+Alt+T快捷键启动终端;或通过应用程序菜单找到“终端”。
- 输入命令: java -version 
- 查看输出:命令会返回JDK的版本信息、供应商和构建详情。 openjdk version "11.0.20" 2025-07-18 OpenJDK Runtime Environment (build 11.0.20+8-post-Ubuntu-0ubuntu122.04) OpenJDK 64-Bit Server VM (build 11.0.20+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)- 解读:第一行显示主版本(如11.0.20),第二行是运行时环境,第三行是虚拟机详情,如果输出中包含”OpenJDK”,表示是开源版本;”Java(TM)”则表示Oracle JDK。
- 注意:如果命令返回bash: java: command not found,说明JDK未安装或路径未设置,需先安装JDK(如sudo apt install openjdk-11-jdk)。
 
方法2:使用javac -version命令(查看Java编译器版本)
 
javac是JDK的编译器工具,此命令专门确认JDK(而非仅JRE)是否安装,并显示编译器版本。
- 在终端中输入: javac -version 
- 查看输出:返回简洁的编译器版本号。 javac 11.0.20- 解读:输出直接显示版本(如11.0.20),确认JDK已安装,如果输出错误如command not found,表示只安装了JRE(运行时环境),而非完整JDK,需安装JDK包(如Ubuntu中使用sudo apt install default-jdk)。
 
- 解读:输出直接显示版本(如11.0.20),确认JDK已安装,如果输出错误如
方法3:检查环境变量和路径(辅助确认版本)
如果系统安装了多个JDK版本,可通过环境变量和文件路径进一步验证。

-  查看 JAVA_HOME变量:JAVA_HOME通常指向JDK安装目录,输入:echo $JAVA_HOME 输出如 /usr/lib/jvm/java-11-openjdk-amd64,表示JDK路径,结合ls命令查看具体版本:ls -l $JAVA_HOME/bin/java 输出会显示符号链接的详细信息,指向实际版本。  
-  使用 which或whereis命令:查找java或javac的路径,再检查版本。which java # 输出路径,如/usr/bin/java /usr/bin/java -version # 直接运行路径下的命令查看版本 或: whereis javac # 显示所有相关路径 
方法4:管理多个JDK版本(使用update-alternatives)
 
在Debian/Ubuntu等系统中,如果安装了多个JDK(如Java 8和Java 11),可用update-alternatives工具切换和查看当前版本。

- 查看所有安装的Java版本: update-alternatives --config java 
- 终端会列出选项, There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode- 解读:星号(*)表示当前默认版本(如Java 11),输入数字选择其他版本,或直接查看优先级和路径。
 
- 类似地,检查编译器版本: update-alternatives --config javac 
常见问题与解决
- 命令未找到(command not found):表示JDK未安装,安装命令示例: 
  - Ubuntu/Debian:sudo apt update && sudo apt install default-jdk
- CentOS/RHEL:sudo yum install java-11-openjdk-devel
 安装后,重新运行版本命令。
 
- Ubuntu/Debian:
- 版本不一致:如果java -version和javac -version输出不同,可能路径冲突,运行update-alternatives --config java统一设置。
- 权限问题:普通用户可能无法访问某些路径,使用sudo或以root用户操作。
- OpenJDK vs Oracle JDK:输出中会注明供应商,OpenJDK是开源免费版,Oracle JDK需商业许可;两者命令相同。
为什么需要查看JDK版本?
- 兼容性:确保应用程序(如Tomcat或Spring Boot)与JDK版本匹配。
- 安全更新:旧版本可能有破绽,定期检查可及时升级。
- 开发需求:编译代码时需特定JDK(如Java 8或11)。
- 系统维护:多版本管理避免冲突,提高效率。
通过以上方法,您可以快速准确地查看Linux系统中的JDK版本,建议定期验证版本,以保持环境健康,操作基于标准Linux实践,确保安全可靠。
引用说明:本文内容参考Oracle官方Java文档、OpenJDK社区指南及Linux手册页(man pages),确保信息准确性和权威性,具体命令细节可查阅man java或访问OpenJDK官网。
 
  
			