答案:CentOS安装JDK推荐使用yum安装OpenJDK,便捷且免费;若需Oracle JDK则手动安装并配置环境变量,关键步骤为设置JAVA_HOME和PATH,建议通过alternatives管理多版本切换,确保java、javac命令与JAVA_HOME一致。

在CentOS上安装JDK,核心流程不外乎两种:一是通过系统包管理器
yum
JAVA_HOME
PATH
说实话,对于大多数CentOS用户和开发者而言,我个人是强烈推荐使用OpenJDK的,因为它开源、免费,并且通过
yum
方法一:使用yum
这是我最喜欢的方式,因为CentOS的包管理系统真的很强大。
立即学习“Java免费学习笔记(深入)”;
检查现有Java环境 在动手之前,先看看系统里是不是已经有Java了。
java -version javac -version
如果显示
command not found
搜索可用的OpenJDK版本 我们得知道有哪些版本可以装。
yum search openjdk
你会看到一长串列表,通常会包含
java-1.8.0-openjdk
java-11-openjdk
java-17-openjdk
devel
javac
devel
安装OpenJDK 比如,我们想安装Java 8的OpenJDK开发工具包:
sudo yum install java-1.8.0-openjdk-devel -y
如果你需要Java 11或17,就把版本号改一下。
验证安装 安装完成后,再检查一下:
java -version javac -version
如果显示了正确的版本信息,那恭喜你,OpenJDK已经装好了。
yum
JAVA_HOME
方法二:手动安装Oracle JDK
这个方法相对繁琐一些,而且你需要去Oracle官网下载,可能还需要注册个账号,这本身就是个小小的门槛。
下载Oracle JDK 访问Oracle官网(
oracle.com
.tar.gz
创建安装目录并解压 我通常喜欢把手动安装的软件放在
/usr/local
sudo mkdir -p /usr/local/java # 假设你下载的文件在~/Downloads/jdk-8uXXX-linux-x64.tar.gz sudo tar -zxvf ~/Downloads/jdk-8uXXX-linux-x64.tar.gz -C /usr/local/java/
解压后,
/usr/local/java
jdk1.8.0_XXX
sudo ln -s /usr/local/java/jdk1.8.0_XXX /usr/local/java/default
这样以后更新JDK版本,只需要修改软链接指向即可,环境变量就不用动了。
配置环境变量 这是最关键的一步,无论是OpenJDK还是Oracle JDK,都需要这一步来告诉系统Java在哪里。我倾向于修改
/etc/profile
~/.bashrc
~/.bash_profile
打开
/etc/profile
sudo vi /etc/profile
在文件末尾添加以下内容(根据你的实际JDK路径调整):
# For OpenJDK (if JAVA_HOME isn't automatically set, or to explicitly point to a specific version) # export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.xxx.x86_64 # For Oracle JDK (using the soft link we created) export JAVA_HOME=/usr/local/java/default export PATH=$JAVA_HOME/bin:$PATH # CLASSPATH在现代Java开发中通常不是必须的,但为了兼容性或特定需求,可以加上 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存并退出。
使配置生效:
source /etc/profile
最终验证
java -version javac -version echo $JAVA_HOME
确保所有命令都指向你安装的JDK版本,并且
JAVA_HOME
这其实是一个挺有意思的问题,也是我经常被问到的。在我看来,选择OpenJDK还是Oracle JDK,主要取决于你的具体需求和对许可协议的接受程度。
OpenJDK:
yum
Oracle JDK:
总结一下,如果你只是想在CentOS上跑Java应用或进行开发,OpenJDK是你的不二之选。它能满足99%的需求,并且省去了很多不必要的麻烦。
环境变量的配置,看似简单,实则坑不少。我见过太多因为环境变量没配对,导致Java程序跑不起来,或者跑的是错误版本的问题。
常见误区:
source
/etc/profile
~/.bashrc
source /etc/profile
source ~/.bashrc
JAVA_HOME
JAVA_HOME
bin
/usr/local/java/jdk1.8.0_XXX/bin
JAVA_HOME
/usr/local/java/jdk1.8.0_XXX
/usr/local/java/default
PATH
$JAVA_HOME/bin
PATH
PATH
export PATH=$JAVA_HOME/bin
PATH
export PATH=$JAVA_HOME/bin:$PATH
~/.bashrc
/etc/profile
/etc/profile
~/.bashrc
最佳实践:
/etc/profile
~/.bashrc
~/.bash_profile
alternatives
alternatives
java
javac
yum
alternatives
JAVA_HOME
/usr/local/java/default
JAVA_HOME
/etc/profile
java -version
javac -version
echo $JAVA_HOME
在实际开发中,尤其是在维护旧项目或者测试新特性时,一台机器上安装多个JDK版本是常有的事。CentOS提供了一个非常优雅的机制来处理这个问题,那就是
alternatives
alternatives
java
editor
基本原理: 当你安装JDK时,
java
javac
/usr/bin
/etc/alternatives/java
/etc/alternatives/javac
alternatives
步骤一:注册新的JDK版本到alternatives
假设你已经手动安装了两个JDK版本:
/usr/local/java/jdk1.8.0_XXX
/usr/local/java/jdk-11.0.X
你需要分别注册
java
javac
# 注册Java 8 sudo alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_XXX/bin/java 1800 sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_XXX/bin/javac 1800 # 注册Java 11 sudo alternatives --install /usr/bin/java java /usr/local/java/jdk-11.0.X/bin/java 1100 sudo alternatives --install /usr/bin/javac javac /usr/local/java/jdk-11.0.X/bin/javac 1100
这里有几个关键点:
--install
/usr/bin/java
java
/usr/local/java/jdk1.8.0_XXX/bin/java
1800
1100
步骤二:切换默认的JDK版本
注册完成后,你可以随时切换默认的Java版本。
sudo alternatives --config java
执行这个命令后,你会看到一个列表,列出了所有注册的Java版本,并提示你输入数字来选择:
There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 /usr/local/java/jdk1.8.0_XXX/bin/java 2 /usr/local/java/jdk-11.0.X/bin/java Enter to keep the current selection[+], or type selection number:
输入你想要使用的Java版本对应的数字,然后按回车。
同样,对于
javac
sudo alternatives --config javac
步骤三:验证切换
切换完成后,立即验证:
java -version javac -version
你会发现
java -version
javac -version
关于JAVA_HOME
alternatives
java
javac
JAVA_HOME
JAVA_HOME
/etc/profile
~/.bashrc
JAVA_HOME
JAVA_HOME
alternatives
java
javac
/etc/profile
# 获取当前alternatives选中的java路径的父目录 export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java))) export PATH=$JAVA_HOME/bin:$PATH
这会动态地将
JAVA_HOME
alternatives
以上就是怎么在CentOS安装JDK_CentOS安装Java环境与路径配置教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号