“CentOS 跑不了 Java 程序”通常不是系统本身的问题,而是环境或配置的问题。我们可以从下面几个最常见原因逐一排查。
CentOS 默认不一定带 Java。
检查是否安装:
java -version
如果提示:
command not found
说明 没装 Java。
✅ 解决:
# CentOS 7
yum install java-1.8.0-openjdk -y
# CentOS 8 / Stream
dnf install java-1.8.0-openjdk -y
有些程序需要 javac,只有 JRE 会失败。
检查:
javac -version
✅ 解决:
yum install java-1.8.0-openjdk-devel -y
即使能跑 java,程序仍可能报错。
查看:
echo $JAVA_HOME
✅ 配置示例(加到 /etc/profile 或 ~/.bashrc):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
然后:
source /etc/profile
比如:
.jar检查系统架构:
uname -m
Java 文件没执行权限:
chmod +x yourapp.jar
或直接运行:
java -jar yourapp.jar
如果是 Web 服务:
firewall-cmd --list-ports
开放端口:
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
查看:
getenforce
如果是 Enforcing,可能阻止程序运行。
临时关闭测试:
setenforce 0
尤其是小内存机器跑 Spring Boot。
查看:
free -h
运行限制内存:
java -Xms128m -Xmx256m -jar app.jar
把下面信息发我,我可以直接帮你定位:
cat /etc/redhat-release)java -version 输出.jar 还是自己写的 .javaCentOS 不是跑不了 Java,而是:没装 / 装错 / 环境变量不对 / 权限或系统限制。
如果你愿意,可以把具体报错贴出来,我可以直接告诉你哪一步错了。