如何在CentOS 7/8服务器上正确安装配置Oracle JDK环境变量?

在基于 Red Hat 的企业级操作系统 CentOS 上部署 Java 应用程序时,安装官方的 Oracle Java Development Kit (JDK) 是一个常见且关键的基础步骤,与系统默认的 OpenJDK 相比,Oracle JDK 提供了长期支持(LTS)、商业保障以及一些特定的性能优化,使其在生产环境中备受青睐,本文将详细介绍在 CentOS 系统上安装 Oracle JDK 的两种主流方法,并提供后续配置与验证的完整指南。

如何在CentOS 7/8服务器上正确安装配置Oracle JDK环境变量?

准备工作:下载与系统检查

在开始安装之前,确保您的系统已准备就绪,通过终端检查当前系统是否已安装其他版本的 Java,以避免潜在的冲突,执行以下命令:

java -version
javac -version

如果系统返回了 OpenJDK 或其他版本的 Java 信息,并且您希望完全替换它,可以在安装新版本后使用 alternatives 工具进行管理,或者在安装前将其卸载,卸载命令示例如下(请谨慎操作,确保没有关键应用依赖旧版本):

sudo yum remove java-*

您需要从 Oracle 官方网站下载适用于 Linux 的 JDK 安装包,访问 Oracle Java 存档页面,根据您的需求选择合适的 JDK 版本(如 JDK 8, 11, 17, 21 等,8, 11, 17, 21 是长期支持版本),在下载页面,您需要:

  1. 接受 Oracle 技术网络许可协议。
  2. 选择与您的 CentOS 系统架构匹配的安装包,通常是 x64 Compressed Archive.tar.gz 格式)或 x64 RPM Package.rpm 格式)。
  3. 下载可能需要登录 Oracle 账户。

建议使用 wget 命令直接在 CentOS 服务器上下载,以避免本地上传的麻烦,在浏览器中右键单击选定的下载链接,选择“复制链接地址”,然后在终端中粘贴并执行。

使用 RPM 包安装(推荐)

使用 RPM 包是在基于 Red Hat 的系统上进行软件安装最规范、最便捷的方式,它能自动处理文件路径、依赖关系,并方便后续的系统管理和升级。

  1. 下载 RPM 包
    假设您下载的是 JDK 17 的 RPM 包,命令可能如下:

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"
  2. 执行安装
    使用 yumdnf(CentOS 8 及以上版本)进行本地安装,这种方式优于直接使用 rpm -ivh,因为它会尝试从系统仓库中解决潜在的依赖问题。

    sudo yum localinstall jdk-17_linux-x64_bin.rpm

    安装过程中,系统会提示您确认安装,输入 y 并回车即可。

  3. 验证安装
    安装完成后,JDK 通常会被放置在 /usr/java/jdk-<version> 目录下,并且可执行文件会自动链接到系统路径,验证安装是否成功:

    java -version

    您应该能看到类似 java version "17.0...." 的输出信息。

    如何在CentOS 7/8服务器上正确安装配置Oracle JDK环境变量?

使用 TAR.GZ 归档文件手动安装

如果您需要更灵活地控制安装位置,或者希望在非 root 用户下安装,使用 .tar.gz 压缩包进行手动安装是一个很好的选择。

  1. 下载并解压
    下载 .tar.gz 文件后,将其解压到一个合适的目录,/usr/java

    # 创建安装目录
    sudo mkdir -p /usr/java
    # 解压文件到目标目录
    sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/java/
  2. 配置环境变量
    这是手动安装最关键的一步,需要告诉系统在哪里找到 JDK,编辑 /etc/profile 文件(对所有用户生效)或在 /etc/profile.d/ 目录下创建一个新的 .sh 文件(推荐,更易于管理)。

    sudo vi /etc/profile.d/java.sh

    在文件中添加以下内容,请将 <version> 替换为您的实际版本号:

    export JAVA_HOME=/usr/java/jdk-<version>
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin
  3. 使配置生效
    保存并退出编辑器后,执行以下命令使环境变量立即生效,或者重新登录系统。

    source /etc/profile
  4. 验证安装
    同样,使用 java -versionjavac -version 命令来验证配置是否正确。

配置系统默认 Java 版本

如果系统中安装了多个 JDK 版本(OpenJDK 和 Oracle JDK),可以使用 alternatives 命令来管理和切换默认使用的 Java 版本。

  1. 将新安装的 JDK 注册到 alternatives 系统

    sudo alternatives --install /usr/bin/java java /usr/java/jdk-<version>/bin/java 2
    sudo alternatives --install /usr/bin/javac javac /usr/java/jdk-<version>/bin/javac 2

    这里的数字 2 是优先级,数字越大,优先级越高。

  2. 配置默认版本
    执行以下命令,会弹出一个交互式菜单,让您选择默认的 Java 版本。

    如何在CentOS 7/8服务器上正确安装配置Oracle JDK环境变量?

    sudo alternatives --config java

    输入您希望设置为默认的 JDK 前面的数字,然后按回车键即可,对 javac 也可以执行同样的操作。

最终验证

完成所有步骤后,进行一次全面的检查以确保一切正常:

# 检查 Java 运行时环境版本
java -version
# 检查 Java 编译器版本
javac -version
# 检查 JAVA_HOME 环境变量是否设置正确
echo $JAVA_HOME

如果所有命令都返回了您所安装的 Oracle JDK 的版本信息,JAVA_HOME 指向了正确的路径,那么恭喜您,您已成功在 CentOS 上安装并配置了 Oracle JDK。


相关问答FAQs

问题1:安装后,如何为所有用户永久设置 JAVA_HOME 环境变量,而不是每次登录都手动 source?

解答: 最佳实践是在 /etc/profile.d/ 目录下创建一个专门的脚本文件,java.sh,这样做的好处是,当系统启动或用户登录时,/etc/profile 会自动加载并执行该目录下的所有 .sh 脚本,从而为所有用户永久设置环境变量,具体操作如下:

  1. 使用管理员权限创建并编辑文件:sudo vi /etc/profile.d/java.sh
  2. 在文件中写入 export 命令,
    export JAVA_HOME=/usr/java/jdk-17.0.8
    export PATH=$PATH:$JAVA_HOME/bin
  3. 保存文件后,无需重启,新登录的用户会自动应用此设置,对于当前已登录的终端,可以执行 source /etc/profile.d/java.shsource /etc/profile 来立即生效,此方法比直接修改 /etc/profile 更清晰、更易于维护。

问题2:系统中同时存在 OpenJDK 和 Oracle JDK,如何快速切换默认使用的版本?

解答: 在 CentOS/RHEL 系统中,管理多个版本的软件最标准、最安全的方法是使用 alternatives 工具,它通过创建一组符号链接(如 /usr/bin/java)来指向实际的可执行文件,让您可以轻松地在不同版本间切换。
要切换默认 Java 版本,只需执行命令:

sudo alternatives --config java

系统会列出所有已注册的 Java 版本及其路径,每个版本前都有一个数字,您只需输入您想切换到的版本对应的数字,然后按回车键,alternatives 就会自动更新符号链接,将您选择的版本设置为系统默认,此方法对 javacjar 等其他 Java 工具同样适用,只需将命令中的 java 替换为相应的工具名即可。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-24 10:16
下一篇 2025-10-24 10:19

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信