在 CentOS 上 Java 应用启动失败、日志异常,常见原因可以归为以下几类。你可以对照排查:
java -version
解决:
yum install java-1.8.0-openjdk
# 或指定版本
echo $JAVA_HOME
若为空或路径不存在,应用可能启动失败。
解决(示例):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
Java 服务常见端口(如 8080、9000、80)被占用:
netstat -tunlp | grep 8080
# 或
ss -tunlp | grep 8080
解决:
chmod +x start.sh
Linux 下 非 root 不能绑定 1024 以下端口
解决:
setcap日志目录不存在或无权限:
ls -ld /var/log/xxx
解决:
mkdir -p /var/log/xxx
chown -R appuser:appuser /var/log/xxx
CentOS 服务器内存小,Java 默认堆内存过大:
报错示例:
Cannot allocate memory
Java heap space
解决:
java -Xms256m -Xmx512m -jar app.jar
application.yml / properties 写错看日志关键词:
Caused by
Exception
ClassNotFoundException
systemctl status firewalld
getenforce
若为 Enforcing,可临时关闭测试:
setenforce 0
错误示例:
sh app.jar # ❌
正确:
java -jar app.jar
java -versionjava -jar 前台启动看报错如果你能贴出具体的报错日志内容(最后 20–30 行),我可以直接帮你定位是哪一类问题。