CentOS 7如何安装JDK并正确配置JAVA_HOME环境变量?

使用 YUM/DNF 安装 OpenJDK(推荐)

对于绝大多数用户而言,通过 CentOS 官方或第三方软件源(如 EPEL)使用 yum(CentOS 7及以下)或 dnf(CentOS 8及以上)包管理器来安装 OpenJDK 是最简单、最安全且推荐的方式,此方法的优点在于安装过程自动化,依赖关系由系统自动处理,后续的更新和卸载也同样便捷。

CentOS 7如何安装JDK并正确配置JAVA_HOME环境变量?

第一步:更新系统软件包

在安装任何新软件之前,保持系统为最新状态是一个良好的习惯,执行以下命令更新所有已安装的软件包及其缓存。

sudo yum update -y

(对于 CentOS 8 及以上版本,请使用 sudo dnf update -y

第二步:搜索可用的 JDK 版本

OpenJDK 提供了多个长期支持(LTS)版本,如 JDK 8, 11, 17 等,您可以使用 search 命令查看软件源中可用的版本。

sudo yum search java- | grep -i openjdk

第三步:安装指定版本的 JDK

以安装广泛使用的 JDK 11 为例,您需要安装 java-11-openjdk(运行时环境)和 java-11-openjdk-devel(开发工具包,包含 javac 编译器等)。

sudo yum install -y java-11-openjdk java-11-openjdk-devel

第四步:验证安装

安装完成后,通过以下命令检查 Java 版本,以确认安装成功。

java -version
javac -version

如果命令能够正确返回已安装的 JDK 11 版本信息,则说明安装过程顺利完成。

CentOS 7如何安装JDK并正确配置JAVA_HOME环境变量?


手动下载并安装 Oracle JDK

在某些特定场景下,您可能需要使用由 Oracle 官方发布的 Oracle JDK,例如需要使用其特有的商业功能,手动安装给予了用户更高的版本选择自由度,但同时也意味着后续的版本管理和更新需要手动进行。

第一步:下载 Oracle JDK

访问 Oracle 官方 Java SE 下载页面,您可能需要一个 Oracle 账户才能下载,选择适合您系统架构的版本(通常是 x64 Compressed Archive),即 .tar.gz 格式的压缩包。

第二步:创建安装目录并解压

为了系统化管理,通常将 JDK 安装在 /usr/java/ 目录下。

# 创建安装目录
sudo mkdir /usr/java
# 解压下载的 JDK 压缩包到目标目录(请将文件名替换为您实际下载的版本)
sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/java/

解压后,JDK 文件将位于 /usr/java/jdk-17/ 这样的目录中。

第三步:使用 alternatives 配置系统默认 Java

CentOS 提供了 alternatives 工具来管理多个版本的软件,这是设置系统默认 Java 的标准方法,比直接修改环境变量更为优雅。

# 配置 java 命令
sudo alternatives --install /usr/bin/java java /usr/java/jdk-17/bin/java 2
# 配置 javac 命令
sudo alternatives --install /usr/bin/javac javac /usr/java/jdk-17/bin/javac 2
# 如果需要配置其他工具,如 jar, keytool 等,方法类似

第四步:配置环境变量 JAVA_HOME

许多 Java 应用程序依赖 JAVA_HOME 环境变量来定位 JDK 安装路径,最佳实践是在 /etc/profile.d/ 目录下创建一个新的 shell 脚本。

CentOS 7如何安装JDK并正确配置JAVA_HOME环境变量?

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

在文件中添加以下内容(请确保路径与您的实际安装路径一致):

export JAVA_HOME=/usr/java/jdk-17
export PATH=$PATH:$JAVA_HOME/bin

保存并退出后,执行 source /etc/profile.d/java.sh 或重新登录终端使配置生效,通过 echo $JAVA_HOME 验证变量是否设置成功。


方法对比与小编总结

为了帮助您做出选择,下表对比了两种安装方法的核心区别:

特性 方法一 (YUM/DNF) 方法二 (手动安装)
安装简易度 非常简单,一条命令即可 相对复杂,需手动下载、解压、配置
版本管理 依赖软件源,版本可能滞后 完全自由,可安装任意官方发布版本
更新方式 yum update 自动更新 需手动下载新版本并重新配置
系统集成度 高,与系统管理工具无缝集成 中,需手动处理 alternatives 和环境变量
适用场景 日常开发、生产环境、追求稳定便捷 特定项目需求、需要最新或非开源版本

如果您没有特殊要求,强烈推荐使用方法一,它更符合 CentOS 的生态系统管理哲学,能最大程度地简化维护工作。


相关问答 (FAQs)

OpenJDK 和 Oracle JDK 有什么核心区别?我应该如何选择?

解答: OpenJDK 是 Java 平台的开源实现,采用 GPL v2 许可证,完全免费,Oracle JDK 是基于 OpenJDK 构建的官方发行版,过去采用 OTN(Oracle Technology Network)许可证,在商业用途上可能需要付费,从代码层面看,两者核心功能几乎完全相同,对于绝大多数开发者和企业用户,OpenJDK 已经足够强大和稳定,并且由于其免费和易于通过系统包管理器安装的特性,是 CentOS 上的首选,只有在您明确需要 Oracle JDK 提供的特定商业支持或某些独有功能时,才考虑手动安装 Oracle JDK。

如果我的系统上同时安装了多个 JDK 版本(如 JDK 8 和 JDK 11),如何快速切换默认使用的版本?

解答: 这正是 alternatives 工具的强大之处,无论您是通过 YUM 还是手动方式安装的 JDK,只要正确配置了 alternatives,就可以使用以下命令来切换:

sudo alternatives --config java

执行此命令后,系统会列出所有已注册的 Java 版本,每个版本前都有一个编号,您只需输入您希望设为默认版本的编号并按回车键,系统即刻完成切换,此方法对于 javac 等其他工具同样有效(使用 sudo alternatives --config javac),确保了开发工具链的版本一致性。

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

(0)
热舞的头像热舞
上一篇 2025-10-14 14:05
下一篇 2025-10-14 14:08

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信