CentOS 上 Java 启动失败 的原因非常多,通常不是“Java 本身坏了”,而是环境、权限、配置或资源问题。下面按最常见原因 → 排查方法给你一个清单,你可以对照看。
java -version
command not found → 没装或 PATH 没配✅ 解决:
which java
ls -l /usr/bin/java
确认 JDK 是否安装:
rpm -qa | grep jdk
很多 Java 程序(Tomcat、Spring Boot、ES)依赖 JAVA_HOME
echo $JAVA_HOME
如果是空的:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
永久配置:
vi /etc/profile
ls -l your.jar
chmod +x your.jar
如果用 systemctl:
chown -R appuser:appuser /opt/app
java -jar app.jar
报错:
Address already in use
查看端口:
netstat -tunlp | grep 8080
或
ss -lntp
报错示例:
Cannot allocate memory
Java heap space
查看内存:
free -h
解决:
java -Xms256m -Xmx512m -jar app.jar
getenforce
如果是 Enforcing:
setenforce 0
或配置 SELinux 策略
Java 启动了,但访问不了:
firewall-cmd --list-ports
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
看真实错误:
journalctl -u your-service -xe
常见错误:
请依次执行:
java -version
echo $JAVA_HOME
ls -l your.jar
netstat -tunlp | grep 端口
free -h
journalctl -xe
你可以把任意一个发给我:
systemctlcat /etc/redhat-release)我可以直接告诉你是哪一条导致的,以及怎么改。