在 CentOS 上配置 Java(JDK) 时,有几个关键点容易踩坑,下面按“安装 → 配置 → 验证 → 常见问题”给你梳理一下。
# 查看可用版本
yum list java-*-openjdk
# 安装 JDK 8 示例
yum install -y java-1.8.0-openjdk-devel
✅ 优点:简单、自动管理依赖
❌ 缺点:版本不一定最新
# 下载 jdk-xx_linux-x64_bin.tar.gz
tar -zxvf jdk-xx_linux-x64_bin.tar.gz -C /usr/local/
目录示例:
/usr/local/jdk1.8.0_381
vi /etc/profile
在文件末尾添加:
export JAVA_HOME=/usr/local/jdk1.8.0_381
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
⚠ 注意
JAVA_HOME一定要指到 JDK 根目录- 不要指到
bin
source /etc/profile
java -version
javac -version
echo $JAVA_HOME
✅ 正常输出 Java 版本即可
alternatives --config java
或手动添加:
alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_381/bin/java 300
⚠ 注意:
java 和 javac 要分别对应 JDKgcj,要替换掉如果是 Java Web / Spring Boot:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
如果 Java 应用访问端口失败:
getenforce
临时关闭:
setenforce 0
生产建议:配置 SELinux 策略,而不是直接关
timedatectl set-timezone Asia/Shanghai
export LANG=zh_CN.UTF-8
nohup java -jar app.jar > app.log 2>&1 &
或使用:
| 问题 | 原因 |
|---|---|
java command not found |
PATH 没配或没 source |
| 版本不对 | 系统自带 java 没切换 |
| 启动报错 | JAVA_HOME 指错 |
| 中文乱码 | 编码不是 UTF-8 |
| 端口连不上 | 防火墙/SELinux |
如果你能告诉我:
我可以直接给你 一套可直接复制的配置方案。