在CentOS 6.9这一经典的企业级操作系统上安装Java开发工具包(JDK)是部署许多Java应用(如Tomcat、Elasticsearch、Hadoop等)的基础步骤,尽管CentOS 6.9已进入生命周期结束阶段,但在一些遗留系统中,它依然扮演着重要角色,本文将详细介绍在CentOS 6.9上安装JDK的完整流程,涵盖准备工作、安装方法、环境配置及验证,旨在提供一个清晰、准确且可操作的指南。
安装前的准备工作
在开始安装之前,确保系统环境满足基本条件,这能有效避免后续安装过程中可能出现的冲突和问题。
系统用户权限:确保您拥有
root
用户权限或具有sudo
权限的普通用户,因为安装软件和修改系统环境变量需要管理员权限。卸载预装的OpenJDK:CentOS系统通常会默认安装开源的OpenJDK,为了避免与我们将要安装的Oracle JDK产生版本冲突,建议先将其卸载。
检查系统是否已安装Java:
java -version rpm -qa | grep java
如果上述命令返回了类似
java-1.7.0-openjdk
或java-1.8.0-openjdk
的包,则需要卸载它们,使用以下命令进行卸载(请将<package-name>
替换为实际查询到的包名):yum remove <package-name>
yum remove java-1.7.0-openjdk java-1.8.0-openjdk
卸载完成后,再次使用
java -version
检查,应提示“command not found”。下载JDK安装包:由于Oracle官方现在需要登录账户才能下载历史版本的JDK,您需要提前访问Oracle官网的Java归档页面,下载适用于Linux x64平台的JDK安装包,以JDK 8为例,推荐的文件格式为
.tar.gz
,例如jdk-8uXXX-linux-x64.tar.gz
,下载完成后,通过scp
或其他工具将安装包上传到CentOS服务器的指定目录,如/usr/local/src
。
手动安装JDK(推荐方法)
手动安装通过解压.tar.gz
文件并配置环境变量来完成,这种方法灵活性强,不依赖于YUM仓库,可以精确控制JDK的版本和安装路径。
创建安装目录并解压
为了保持系统文件结构的整洁,我们通常将JDK安装在/usr/java
目录下。
# 创建JDK的统一安装目录 mkdir /usr/java # 进入安装包存放目录 cd /usr/local/src # 解压JDK安装包到目标目录(请将文件名替换为您下载的实际文件名) tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C /usr/java
解压后,/usr/java
目录下会出现一个名为jdk1.8.0_XXX
的文件夹。
配置环境变量
这是整个安装过程中最关键的一步,我们需要配置三个核心环境变量:JAVA_HOME
、PATH
和CLASSPATH
。
编辑系统的全局环境变量配置文件/etc/profile
:
vi /etc/profile
在文件末尾添加以下内容(请根据您的实际JDK版本号修改目录名):
# Set Java Environment export JAVA_HOME=/usr/java/jdk1.8.0_XXX export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
各变量含义解释:
变量名 | 作用 | 示例值 |
---|---|---|
JAVA_HOME | 指向JDK的根目录,许多Java程序会依赖此变量寻找JDK。 | /usr/java/jdk1.8.0_XXX |
JRE_HOME | 指向Java运行时环境的目录。 | ${JAVA_HOME}/jre |
CLASSPATH | Java虚拟机在加载类时搜索的路径列表。 | .:${JAVA_HOME}/lib:${JRE_HOME}/lib |
PATH | 系统查找可执行文件的路径列表,将JDK的bin 目录加入其中。 | ${JAVA_HOME}/bin:$PATH |
保存并退出编辑器(在vi
中,按Esc
,输入wq
并回车)。
使配置立即生效
修改完/etc/profile
文件后,配置不会立即生效,需要执行以下命令来刷新配置:
source /etc/profile
验证安装
通过以下命令来验证JDK是否安装并配置成功。
检查Java版本:
java -version
如果命令成功执行并显示您刚刚安装的JDK版本信息(如
java version "1.8.0_XXX"
),则说明PATH
变量配置正确。检查Java编译器版本:
javac -version
同样,应显示与
java -version
一致的版本号。检查JAVA_HOME变量:
echo $JAVA_HOME
此命令应输出您在配置文件中设置的路径,如
/usr/java/jdk1.8.0_XXX
。
如果以上三个命令均返回预期的正确信息,那么恭喜您,JDK已在您的CentOS 6.9系统上成功安装。
相关问答 (FAQs)
问题1:执行 source /etc/profile
后,输入 java -version
依然提示“command not found”或显示的是旧版本,该怎么办?
解答: 这个问题通常由以下几个原因造成:
- 配置未生效:请确认您已经执行了
source /etc/profile
命令,如果仍然无效,可以尝试完全注销当前用户并重新登录。 - 路径错误:请仔细检查
/etc/profile
文件中JAVA_HOME
的路径是否与您实际解压后的JDK目录名完全一致,任何一个字符的错误都会导致失败。 - 环境变量格式错误:检查
export
语句的语法,特别是PATH
变量的配置,确保${JAVA_HOME}/bin
被正确地添加到了现有PATH
的前面(${JAVA_HOME}/bin:$PATH
)。 - Shell缓存:在某些情况下,Shell可能会有缓存,可以尝试输入
hash -r
来清除命令的哈希缓存,然后再次执行java -version
。
问题2:OpenJDK 和 Oracle JDK 有什么区别?在CentOS 6.9上我应该选择哪一个?
解答: 两者主要有以下几点区别:
- 许可证:Oracle JDK(自Java 8 Update 211起)采用OTN(Oracle Technology Network)许可,商业使用需要付费,OpenJDK是完全开源的,使用GPL v2许可证。
- 源代码:OpenJDK是Java平台标准版(Java SE)的开源实现,Oracle JDK基于OpenJDK构建,但包含了一些额外的商业功能,如Flight Recorder、Java Mission Control等。
- 更新周期:Oracle JDK为付费用户提供长期支持(LTS)和定期更新,OpenJDK的更新和支持则由社区或其他商业公司(如Red Hat、Azul等)提供。
选择建议:对于CentOS 6.9这样的旧系统,如果运行的是遗留项目,通常选择稳定且广泛使用的Oracle JDK 8是更稳妥的选择,因为很多旧应用是针对它进行测试和优化的,如果您的应用对商业功能没有要求,或者希望遵循开源协议,那么安装OpenJDK 8也是一个完全可行的替代方案,并且可以通过 yum
命令更便捷地安装管理(yum install java-1.8.0-openjdk-devel
)。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复