linux上jdk应安装在/usr/lib/jvm目录,这是debian/ubuntu、rhel/centos等主流发行版约定的标准路径,便于包管理器识别、多版本管理及工具链自动发现。

直接把 JDK 安装到 /usr/lib/jvm 是 Linux 上最稳妥、最符合发行版惯例的做法。它既满足系统级可见性,又便于统一管理多版本 JDK,还能被包管理器(如 apt、dnf)和工具(如 update-alternatives)识别。
为什么选 /usr/lib/jvm
这个路径是 Debian/Ubuntu、RHEL/CentOS、Fedora 等主流发行版约定的 JVM 标准安装位置。系统自带的 OpenJDK 包默认就装在这里;Java 工具链(如 java、javac)、构建工具(Maven/Gradle)和运行时服务(systemd、Docker)都默认扫描该目录。用它,等于遵循“最小惊讶原则”——别人接手或自动化脚本运行时,不会意外找不到 JDK。
安装 JDK 到 /usr/lib/jvm 的标准流程
- 下载官方 OpenJDK(如 Temurin 或 Liberica)的 tar.gz 包,避免使用已停止维护的 Oracle JDK 公共版
- 解压到
/usr/lib/jvm下,例如:sudo tar -xzf jdk-17.0.3+7.tar.gz -C /usr/lib/jvm/ - 创建语义化软链接,比如:
sudo ln -sfn /usr/lib/jvm/jdk-17.0.3+7 /usr/lib/jvm/java-17 - 确保属主为 root,权限为 755:
sudo chown -R root:root /usr/lib/jvm/jdk-17.0.3+7
配置 JAVA_HOME 全局生效
不要只改 ~/.bashrc ——它只影响当前用户交互式 shell,对 systemd 服务、cron 任务或 CI/CD 流水线无效。
- 新建
/etc/profile.d/java.sh(推荐),内容仅两行:export JAVA_HOME=/usr/lib/jvm/java-17export PATH=$JAVA_HOME/bin:$PATH - 赋予可执行权限:
sudo chmod +x /etc/profile.d/java.sh - 新终端自动加载;已有会话可用
source /etc/profile.d/java.sh即时生效
验证与维护要点
- 检查路径一致性:
echo $JAVA_HOME和readlink -f $(which java)应指向同一 JDK 目录 - 确认版本匹配:
java -version与javac -version输出应完全一致 - 多版本共存时,用
sudo update-alternatives --config java切换,但生产环境建议固定软链接,避免隐式切换 - 定期清理旧版本:删除无用子目录后,更新软链接并重载配置
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











