在 CentOS 上配置 Java 时,有几个常见“坑”和最佳实践,下面按使用场景给你总结一下:
常用版本:
# CentOS 7
yum install -y java-11-openjdk-devel
# CentOS 8 / Stream
dnf install -y java-11-openjdk-devel
devel包含javac,只跑程序用java-11-openjdk即可
tar -zxvf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/
ln -s /usr/local/jdk-11.0.2 /usr/local/java
JAVA_HOME编辑:
vi /etc/profile.d/java.sh
内容示例:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
✅ 建议用 /etc/profile.d/ 而不是改 /etc/profile
alternatives --config java
alternatives --config javac
或手动设置:
alternatives --install /usr/bin/java java /usr/local/java/bin/java 300
java -version 和 javac -version 不一致原因:
解决:
which java
which javac
echo $JAVA_HOME
Java 服务(如 Tomcat、Spring Boot):
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
getenforce
如果是 Enforcing,必要时:
setenforce 0
timedatectl set-timezone Asia/Shanghai
locale
确保:
LANG=zh_CN.UTF-8
-Xms -Xmx)java -version
javac -version
echo $JAVA_HOME
which java
如果你愿意,可以告诉我:
我可以给你一份 专属配置方案。