在CentOS上配置Ja va运行时环境,看起来是个老生常谈的话题,但实际操作中,版本选择、路径配置、多版本管理等细节,往往能把人绕晕。今天咱们就把这件事从头到尾捋一遍,保证每一步都清晰可操作。

一 准备与版本选择
动手之前,先想清楚两个问题:你究竟要做什么?
- 明确需求:如果只是跑个现成的Ja va程序,安装JRE就够了;但如果你需要编译代码,或者要用到Ma ven、Gradle这类构建工具,那还是直接装JDK省心——省得回头再补。
- 选择发行版:对大多数场景来说,系统仓库里的OpenJDK是首选,安装简单、依赖自动处理,几乎零操心。如果你有特殊需求,比如必须用Oracle JDK,或者要某个特定厂商的版本,那就得手动下载解压或者用RPM包安装了。
- 系统更新:在装Ja va之前,最好先更新一下系统,避免后续因为依赖版本不一致而报错。
- 权限与安全:生产环境里,尽量不要用root用户来跑Ja va应用。用普通用户部署,需要提权时再用sudo,这是基本的安全意识。
二 安装方式
安装Ja va主要有三种路子,根据你的情况选一个就行。
在线安装 OpenJDK(推荐)
这是最省事的方式,两条命令搞定:
- 先更新索引:
sudo yum update - 然后安装:
sudo yum install ja va-1.8.0-openjdk(只装JRE)或者sudo yum install ja va-1.8.0-openjdk-devel(连编译器一起装)。 - 验证一下:执行
ja va -version,能看到版本信息就说明装好了。
手动解压安装(Oracle JDK或特定版本)
如果你需要Oracle JDK,或者某个特定版本在仓库里找不到,那就手动来:
- 下载好JDK压缩包(比如
jdk-8u271-linux-x64.tar.gz),上传到服务器。 - 解压到目标目录,比如
/usr/local/ja va:tar -xvf jdk-8u271-linux-x64.tar.gz -C /usr/local/ja va。 - 剩下的就是配置环境变量,指向这个目录。
RPM 安装(Oracle JDK)
如果你下载的是.rpm包,那更简单:
- 执行
sudo rpm -ivh jdk-,安装路径由RPM包自动决定,之后同样需要配置环境变量。.rpm
三 配置环境变量与多版本管理
装完Ja va后,环境变量才是关键——不配好,系统根本不知道你装在哪。
查找或确认安装路径
先别急着写路径,确认一下Ja va到底装在哪了。可以用alternatives机制来定位:
which ja va→ls -lrt /usr/bin/ja va→ls -lrt /etc/alternatives/ja va,通常OpenJDK在/usr/lib/jvm/下面。
设置环境变量(全局或用户级)
两种方式,看你的需求:
- 全局(所有用户):编辑
/etc/profile,或者在/etc/profile.d/下新建一个ja va.sh文件,写入以下内容:export JA VA_HOME=/usr/lib/jvm/ja va-1.8.0-openjdk export PATH=$JA VA_HOME/bin:$PATH - 用户级(当前用户):编辑
~/.bashrc或~/.bash_profile,内容同上。 - 别忘了让配置生效:
source /etc/profile或source ~/.bashrc。
多版本切换(alternatives)
如果你装了多个Ja va版本,用alternatives来管理默认版本是最规范的做法:
- 查看当前可用的Ja va版本:
alternatives --config ja va,按提示选择你想要的编号。 - 如果还要切换
ja vac,也执行一遍alternatives --config ja vac。
四 验证与常见问题
所有配置都做完后,别急着关终端,先验证一下。
验证安装
- 版本检查:
ja va -version,如果装了devel包,还可以ja vac -version。 - 路径检查:
echo $JA VA_HOME和which ja va,看看是不是指向你预期的目录。
常见问题与处理
- 命令未找到:大概率是PATH没配好,或者没有执行
source。检查一下$JA VA_HOME/bin是否在PATH里。 - 架构不匹配:下载JDK时,注意系统架构是x86_64还是aarch64,别下错了。
- 多版本冲突:用
alternatives统一管理,不要手动改符号链接,容易乱。 - 权限问题:应用长期运行时,不要用root用户,该用sudo的时候就sudo,该建普通用户就建一个。