在CentOS系统中安装Java开发工具包(JDK)是运行许多基于Java的应用程序(如Tomcat、Elasticsearch、Maven等)或进行Java开发的基础前提,根据用户的具体需求和技术背景,主要有两种主流的下载和安装方式:通过系统的包管理器(YUM/DNF)安装,以及从官方网站手动下载安装,这两种方法各有优劣,适用于不同的场景。
使用YUM/DNF包管理器安装(推荐新手)
这是最简单、最快捷的方法,也是官方推荐的在CentOS上安装软件的方式,它能自动处理依赖关系,并且方便后续的更新和管理,通过YUM安装的通常是OpenJDK,一个由社区驱动的、开源的Java平台标准版实现。
第一步:更新系统软件包
在安装任何新软件之前,最佳实践是先更新系统的软件包索引和已安装的包,打开终端,执行以下命令:
sudo yum update -y
第二步:搜索可用的Java版本
CentOS的官方仓库中包含了多个版本的OpenJDK,你可以使用以下命令来搜索所有可用的Java相关包:
sudo yum search java- | grep openjdk
这个命令会列出一系列可用的OpenJDK包,java-1.8.0-openjdk
, java-11-openjdk
, java-17-openjdk
等。
第三步:安装指定版本的JDK
假设我们要安装长期支持的JDK 11(LTS版本),你需要安装两个包:一个是运行时环境(JRE),另一个是开发环境(JDK,包含编译器等工具),在OpenJDK的包命名中,开发工具通常由 -devel
后缀标识。
sudo yum install java-11-openjdk java-11-openjdk-devel -y
java-11-openjdk
: 提供Java运行时环境(JRE),让你能运行Java程序。java-11-openjdk-devel
: 提供Java开发工具包(JDK),包含javac
编译器、javadoc
文档生成器等开发必需的工具。
第四步:验证安装
安装完成后,通过以下命令验证Java版本,确保安装成功并且版本正确:
java -version
输出应类似于:
openjdk version "11.0.xx" 202x-xx-xx
OpenJDK Runtime Environment (...)
OpenJDK 64-Bit Server VM (...)
同样,检查编译器版本:
javac -version
输出应为:javac 11.0.xx
手动下载并安装(适用于特定需求)
当需要安装特定版本的Oracle JDK,或者官方仓库中没有你需要的版本时,可以采用手动安装的方式,这种方法给予用户完全的控制权,但步骤相对繁琐。
第一步:从官网下载JDK
访问Oracle官方网站或Adoptium(Eclipse Temurin)等OpenJDK发行商网站,选择你需要的JDK版本,并下载适用于Linux x64的压缩包(通常是 .tar.gz
格式)。
你可以直接在CentOS服务器上使用 wget
命令下载,在浏览器中找到你需要的版本的下载链接(可能需要接受许可协议),然后复制该链接。
# 示例链接,请替换为实际获取的链接 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
第二步:创建安装目录并解压
为了保持系统整洁,通常将JDK安装在 /usr/java/
目录下。
# 创建目录 sudo mkdir -p /usr/java # 将下载的压缩包移动到该目录 sudo mv jdk-17_linux-x64_bin.tar.gz /usr/java/ # 进入目录并解压 cd /usr/java/ sudo tar -xzvf jdk-17_linux-x64_bin.tar.gz
解压后,你会得到一个类似 jdk-17.0.x
的文件夹,为方便管理,可以创建一个符号链接:
sudo ln -s jdk-17.0.x latest
第三步:配置环境变量
这是手动安装最关键的一步,系统需要知道 java
、javac
等命令的位置,以及Java的安装根目录(JAVA_HOME
)。
打开
/etc/profile.d/
目录下的一个新文件,java.sh
,这样做比直接修改/etc/profile
更好,因为它独立且易于管理。sudo vi /etc/profile.d/java.sh
在文件中添加以下内容,请根据你的实际JDK路径修改
JAVA_HOME
的值。export JAVA_HOME=/usr/java/latest export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin
保存并退出编辑器。
第四步:使配置生效并验证
为了让刚才设置的环境变量在当前终端会话中立即生效,执行以下命令:
source /etc/profile.d/java.sh
或者,直接重启系统也能让配置全局生效。
再次验证安装:
java -version javac -version
如果输出显示了正确的版本信息,说明手动安装成功。
两种方法对比
特性 | YUM/DNF 安装 | 手动安装 |
---|---|---|
易用性 | 非常简单,几条命令即可完成 | 相对复杂,需手动下载、解压、配置 |
版本控制 | 依赖于仓库中的版本,选择有限 | 完全自由,可安装任何官网提供的版本 |
更新管理 | 通过 yum update 轻松更新 | 需手动下载新版本并重新配置 |
系统整合 | 与系统集成度高,自动管理PATH | 需手动配置环境变量,管理多版本稍复杂 |
适用场景 | 快速部署、服务器环境、版本要求不严格 | 开发环境、需要特定Oracle JDK版本、无网络访问仓库 |
相关问答 (FAQs)
问:OpenJDK 和 Oracle JDK 有什么区别?我应该选择哪一个?
答:主要区别在于许可和商业支持,OpenJDK 是一个完全开源、免费的项目,由社区驱动,Oracle JDK 基于OpenJDK,但包含一些额外的商业功能,并且其商业使用在过去几年中许可政策有所变化,对于绝大多数开发者和生产环境来说,OpenJDK 已经足够稳定和强大,并且是完全免费的,除非你需要Oracle JDK特有的商业功能或购买其商业支持,否则选择通过YUM安装的OpenJDK是更简便和推荐的做法。
问:如果我系统中安装了多个版本的JDK,如何切换默认使用的版本?
答:对于通过YUM安装的多个JDK版本,可以使用 alternatives
工具来管理和切换,执行 sudo alternatives --config java
命令,系统会列出所有已安装的Java版本,你只需输入对应版本的编号按回车即可切换,对于手动安装的JDK,切换默认版本则需要修改 /etc/profile.d/
下的环境变量文件,将 JAVA_HOME
指向你希望使用的JDK版本目录,然后重新加载配置文件(source /etc/profile.d/java.sh
)即可。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复