在基于RHEL的Linux发行版(如CentOS)上进行Java开发时,安装Oracle JDK(Java Development Kit)是一项基础且关键的准备工作,Oracle JDK是Oracle官方提供的Java开发工具包,包含了编译器、运行时环境(JRE)以及各种开发工具,以下将详细介绍在CentOS系统上手动下载并安装Oracle JDK的完整流程,确保过程清晰、步骤准确。
准备工作
在开始安装之前,首先需要确保系统环境准备就绪,这包括更新系统软件包、检查并卸载可能存在的旧版Java,以及安装必要的下载工具。
更新系统:打开终端,以root用户或具有sudo权限的用户身份执行以下命令,以确保所有系统软件包都是最新的。
sudo yum update -y
检查旧版Java:系统中可能预装了OpenJDK或其他版本的Java,为了避免版本冲突,建议先检查并卸载它们。
rpm -qa | grep -i java
如果上述命令输出了任何与Java相关的包(如
java-1.8.0-openjdk
),可以使用yum remove
命令将其卸载。sudo yum remove java-1.8.0-openjdk-headless java-1.8.0-openjdk -y
安装wget:我们将使用
wget
命令从Oracle官网下载JDK安装包,如果系统尚未安装,请先安装它。sudo yum install wget -y
下载并安装Oracle JDK
Oracle JDK需要从其官方网站下载,由于Oracle的许可协议,通常需要手动同意条款才能获得直接的下载链接。
获取下载链接:访问Oracle官方Java归档页面,选择你需要的JDK版本(例如JDK 11),点击“Download”按钮,在弹出的页面中,接受许可协议(Accept License Agreement),然后右键单击对应于你系统架构(通常是Linux x64)的
.tar.gz
文件,选择“复制链接地址”。下载安装包:回到CentOS终端,使用
wget
命令粘贴并执行下载链接,链接中通常包含一个令牌,需要及时下载。wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "复制的下载链接"
创建安装目录并解压:我们将JDK安装在
/usr/java
目录下,这是一个通用做法。sudo mkdir /usr/java sudo tar -zxvf jdk-*.tar.gz -C /usr/java
解压后,进入
/usr/java
目录,你会看到一个类似jdk-11.0.12
的文件夹,为了方便后续配置,可以将其重命名或创建一个符号链接。
配置环境变量
为了让系统能够识别和使用新安装的JDK,必须配置环境变量,推荐在/etc/profile.d/
目录下创建一个新的配置文件,这样做不会污染主配置文件,也更易于管理。
创建配置文件:
sudo vi /etc/profile.d/jdk.sh
在文件中添加以下内容(请将
JDK版本号
替换为你实际解压得到的文件夹名):export JAVA_HOME=/usr/java/jdk-<JDK版本号> export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
使配置生效:保存并退出编辑器后,执行以下命令使环境变量立即生效,或者重新登录系统。
source /etc/profile.d/jdk.sh
验证安装
通过以下命令验证JDK是否安装成功。
java -version javac -version echo $JAVA_HOME
如果第一条命令输出了你刚刚安装的Oracle JDK版本信息,第二条命令输出了编译器版本,第三条命令正确打印了JAVA_HOME
的路径,那么恭喜你,安装已成功完成。
为了方便查阅,以下是核心环境变量的小编总结:
变量名 | 描述 | 示例值 |
---|---|---|
JAVA_HOME | JDK的根目录路径,许多程序依赖它 | /usr/java/jdk-11.0.12 |
CLASSPATH | Java类和库文件的搜索路径 | .:$JAVA_HOME/lib:$JRE_HOME/lib |
PATH | 系统查找可执行文件的路径 | $JAVA_HOME/bin:$PATH |
相关问答FAQs
解答:这个问题通常由两个原因导致,环境变量没有正确配置或未生效,请检查/etc/profile.d/jdk.sh
文件中的路径是否正确,并确保已执行source /etc/profile.d/jdk.sh
命令,如果系统中存在多个Java版本,可能需要使用alternatives
工具来配置系统默认使用的Java版本,可以通过sudo alternatives --config java
命令在交互式界面中选择你新安装的Oracle JDK。
如何在不重新登录的情况下,让所有用户都能使用新安装的Java环境?
解答:通过将环境变量配置写入/etc/profile.d/
目录下的.sh
文件(如本文中的jdk.sh
),已经做到了对所有新登录的用户生效,对于当前已登录的所有用户会话,他们需要手动执行source /etc/profile.d/jdk.sh
来加载新的环境变量,你无法强制已存在的会话自动加载新配置,这是Shell设计机制决定的,最稳妥的方式是通知所有用户重新登录,或在各自的终端中手动执行source
命令。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复