直接执行 java -version 可查 jdk 版本,但需结合 javac -version、which java、readlink -f $(which java) 等命令验证可用性、路径及环境变量;通过 yum/dnf 列包、ls /usr/lib/jvm/、alternatives --config java 确认安装方式;推荐在 /etc/profile.d/java.sh 中设置 java_home 并 source 生效。

直接执行 java -version 就能查到当前 JDK 版本,但要确认是否真正可用、路径是否正确、环境变量是否生效,还得结合几个关键步骤一起看。
快速查看已安装的 JDK 版本
终端中运行以下命令即可获知运行时版本:
-
java -version—— 查看 JRE 运行环境版本(如 OpenJDK 1.8.0_392) -
javac -version—— 查看编译器版本,验证devel包是否安装成功 -
which java和which javac—— 确认命令实际指向的可执行文件路径 -
readlink -f $(which java)—— 追踪软链接,得到真实的 JDK 安装目录(例如/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64)
确认 JDK 是否通过 yum/dnf 安装
CentOS 7 用 yum,CentOS 8+ 用 dnf。这类安装方式会自动注册系统路径,但 JAVA_HOME 不一定被设置。可通过以下方式判断:
- 列出已安装 Java 相关包:
yum list installed | grep java(CentOS 7)或dnf list installed | grep java(CentOS 8+) - 检查默认安装位置:
ls /usr/lib/jvm/,通常 JDK 会放在这个目录下,带版本号的子目录即真实路径 - 查看 alternatives 配置:
sudo alternatives --config java,可看到所有已注册的 Java 版本及对应路径
配置 JAVA_HOME 等关键环境变量
很多 Java 工具(如 Tomcat、Maven、Gradle)依赖 JAVA_HOME,必须显式设置。推荐使用独立脚本方式,避免污染全局 profile:
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 新建系统级配置文件:
sudo vi /etc/profile.d/java.sh - 填入内容(路径请根据
readlink -f $(which java)输出调整):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH - 赋予执行权限:
sudo chmod +x /etc/profile.d/java.sh - 立即生效:
source /etc/profile.d/java.sh
注意:CLASSPATH 在现代 Java 应用中极少手动设置,一般可省略;JRE_HOME 也不再必需,除非特定旧版中间件要求。
验证环境变量是否生效
执行以下命令逐项确认:
-
echo $JAVA_HOME—— 应输出完整路径,不能为空 -
java -version和javac -version—— 仍能正常返回,说明 PATH 没被破坏 -
sudo -i后再执行echo $JAVA_HOME—— 确保新 shell 也能继承该变量(profile.d 下的脚本对 root 和普通用户均有效)
若某项失败,重点检查路径是否拼写错误、是否漏掉 source 或权限问题(脚本需有可执行位)。










