最直接有效的是 java -version,它能快速确认当前默认使用的 jdk 运行时版本;javac -version 显示编译器版本;echo $java_home、which java 和 readlink -f $(which java) 可定位安装路径;ls /usr/lib/jvm、update-alternatives --list java 及 rpm/dpkg 命令可查看所有已安装 jdk;若 java -version 报错,需检查 which java、path 和环境变量配置。

区分运行环境与开发工具版本
java -version 显示的是 Java 运行时环境(JRE)信息,也就是程序实际运行所依赖的版本;javac -version 显示的是 Java 编译器版本,对应 JDK 的开发能力。两者通常一致,但若系统中混装多个 JDK,可能不同步。
定位 JDK 安装路径
仅知道版本还不够,有时需确认具体安装位置:
-
echo $JAVA_HOME—— 查看是否已配置环境变量及指向哪 -
which java—— 找到 java 命令的可执行文件位置 -
readlink -f $(which java)—— 追踪符号链接,直达真实 bin 目录(如/usr/lib/jvm/java-11-openjdk-amd64/bin/java)
查看系统中所有已安装的 JDK
很多服务器会预装多个版本,尤其使用 openjdk 包管理安装时:
-
ls /usr/lib/jvm—— OpenJDK 默认安装目录,子目录名常含版本号(如java-8-openjdk-amd64、java-17-openjdk-amd64) -
update-alternatives --list java—— 列出通过 alternatives 系统注册的所有 Java 实例 -
rpm -qa | grep jdk(CentOS/RHEL)或dpkg -l | grep openjdk(Debian/Ubuntu)—— 查看软件包级安装记录
验证是否真正可用
如果 java -version 报错 command not found,说明未安装或未加入 PATH:
- 先运行
which java或type java确认命令是否存在 - 再检查
echo $PATH是否包含 java 所在目录(如/usr/bin或$JAVA_HOME/bin) - 若只装了 JDK 但没配环境变量,可临时用绝对路径测试:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -version











