温馨提示×

如何在CentOS上更新Java版本

小樊
36
2025-11-19 20:11:49
栏目: 编程语言

在 CentOS 上更新 Java 的推荐流程


一 准备与检查

  • 查看系统版本与当前 Java 版本:
    • 查看系统:cat /etc/centos-release
    • 查看 Java:java -versionjavac -version
  • 列出已安装的 OpenJDK 包:rpm -qa | grep java
  • 包管理工具选择:
    • CentOS 7:优先使用 yum
    • CentOS 8/Stream:优先使用 dnf(yum 多为兼容别名)

二 方式一 使用包管理器安装或升级 OpenJDK(推荐)

  • 安装/升级到指定版本(示例为 OpenJDK 11 开发包):
    • CentOS 7:sudo yum install -y java-11-openjdk-devel
    • CentOS 8/Stream:sudo dnf install -y java-11-openjdk-devel
  • 如需从旧版本切换到新版本,可先卸载旧包(谨慎,可能影响依赖):
    • 示例:sudo yum remove -y java-1.8.0-openjdk*
  • 验证:java -versionjavac -version
  • 说明:这是最简便、可随系统仓库更新的方式,适合大多数场景。

三 方式二 手动安装 Oracle JDK 或压缩包并配置环境

  • 准备与安装:
    • 下载 JDK(.tar.gz 或 .rpm) 并上传至服务器
    • 解压到统一目录(示例:/usr/lib/jvm):
      • sudo mkdir -p /usr/lib/jvm
      • sudo tar -zxvf jdk--linux-x64_bin.tar.gz -C /usr/lib/jvm
    • 或安装 RPM:sudo rpm -ivh jdk--linux-x64.rpm
  • 配置环境变量(全局推荐 /etc/profile.d/java.sh):
    • 新建或编辑:sudo vi /etc/profile.d/java.sh
    • 写入(路径按实际调整):
      • export JAVA_HOME=/usr/lib/jvm/jdk-
      • export PATH=$JAVA_HOME/bin:$PATH
    • 使生效:source /etc/profile.d/java.sh
  • 验证:java -versionjavac -version
  • 说明:适合需要特定厂商/版本的场景,便于多版本并存与精确控制。

四 多版本共存与切换

  • 使用 update-alternatives 注册与切换(系统级、可回退):
    • 注册 Java 与编译器:
      • sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-/bin/java 100
      • sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-/bin/javac 100
    • 交互选择默认版本:sudo update-alternatives --config java(同理可配置 javac)
  • 用户级快速切换(可选):
    • ~/.bash_profile~/.bashrc 中设置别名或导出不同 JAVA_HOME,按需切换
  • 说明:该方式便于在同一台机器维护 Java 8/11/17/21 等多版本并快速切换。

五 常见问题与建议

  • 只替换运行时还是开发环境:开发请安装 -devel 包(含 javac);仅运行可只装运行时包
  • 切换后验证两项:java -versionjavac -version 输出应一致
  • 避免冲突:不要同时在全局 PATH 中硬编码多个 JAVA_HOME;优先用 update-alternatives/etc/profile.d/ 管理
  • 安全与支持:生产环境优先选择 LTS 版本,并定期更新以获得安全补丁

0