使用 YUM/DNF 安装 OpenJDK(推荐)
对于绝大多数用户而言,通过 CentOS 官方或第三方软件源(如 EPEL)使用 yum
(CentOS 7及以下)或 dnf
(CentOS 8及以上)包管理器来安装 OpenJDK 是最简单、最安全且推荐的方式,此方法的优点在于安装过程自动化,依赖关系由系统自动处理,后续的更新和卸载也同样便捷。
第一步:更新系统软件包
在安装任何新软件之前,保持系统为最新状态是一个良好的习惯,执行以下命令更新所有已安装的软件包及其缓存。
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 版本信息,则说明安装过程顺利完成。
手动下载并安装 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 脚本。
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
),确保了开发工具链的版本一致性。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复