温馨提示×

centos java配置要注意啥

小樊
47
2026-09-21 02:14:35
栏目: 编程语言

在 CentOS 上配置 Java(通常是 JDK)时,有几个关键点容易踩坑。下面按“安装 → 配置 → 验证 → 常见坑”给你梳理一下。


一、Java 安装方式选择

1️⃣ yum 安装(最简单,适合大多数情况)

# 查看可用版本
yum list java-*openjdk*

# 安装 JDK 8 示例
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

✅ 优点:自动管理依赖
❌ 缺点:版本不一定最新


2️⃣ 手动安装 Oracle / 官方 JDK(生产常用)

# 下载 jdk-8uXXX-linux-x64.tar.gz
tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C /usr/local/

目录示例:

/usr/local/jdk1.8.0_XXX

二、环境变量配置(重点)

推荐方式(系统级)

编辑:

vim /etc/profile.d/java.sh

写入:

export JAVA_HOME=/usr/local/jdk1.8.0_XXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

生效:

source /etc/profile

✅ 比直接改 /etc/profile 更干净,方便管理


三、多版本 Java 管理(很重要)

CentOS 可能自带 OpenJDK,容易冲突。

查看已安装 Java

rpm -qa | grep java
java -version

切换默认 Java

alternatives --config java

或手动指定:

export JAVA_HOME=/your/path

四、验证配置是否正确

echo $JAVA_HOME
java -version
javac -version

✅ javac 能运行说明 JDK(不是 JRE) 安装成功


五、CentOS 特有注意事项(坑点)

⚠️ 1. 防火墙 & 端口

Java 服务(如 Tomcat、Spring Boot):

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

⚠️ 2. SELinux 可能影响

生产环境:

getenforce

如为 Enforcing,可临时关闭测试:

setenforce 0

⚠️ 3. 时间 zone 问题(Java 很敏感)

timedatectl

建议:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

⚠️ 4. 字符编码

Java 默认可能不是 UTF-8:

export LANG=zh_CN.UTF-8

六、生产环境建议

  • ✅ 用 JDK 而不是 JRE
  • ✅ JAVA_HOME 必须明确配置
  • ✅ 不建议用 root 跑 Java 服务
  • ✅ 用 systemd 管理 Java 进程

示例 java.service:

[Unit]
Description=Java App
After=network.target

[Service]
User=appuser
ExecStart=/usr/local/jdk/bin/java -jar /opt/app.jar

[Install]
WantedBy=multi-user.target

七、常见错误速查

问题 原因
command not found PATH 没配
javac 不存在 装的是 JRE
版本不生效 多个 Java 冲突
中文乱码 编码/LANG 问题

如果你愿意,可以告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • Java 版本(8 / 11 / 17)
  • 用途(学习 / 生产 / Spring Boot / Hadoop)

我可以给你一套精准配置方案。

0 踩