在 CentOS 上运行 Java 报错的原因有很多,需要结合具体的报错信息来判断。下面我先给你一个最常见的原因清单 + 排查方法,你可以对照看看。
报错示例
-bash: java: command not found
检查
java -version
which java
解决
# CentOS 7
yum install java-1.8.0-openjdk-devel -y
# CentOS 8 / Stream
dnf install java-11-openjdk-devel -y
报错示例
javac: command not found
解决
yum install java-1.8.0-openjdk-devel
报错示例
Error: JAVA_HOME is not set
解决
vi /etc/profile
添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
报错示例
Permission denied
解决
chmod +x your.jar
# 或
chmod 755 run.sh
❌ 错误:
java myapp.jar
✅ 正确:
java -jar myapp.jar
报错示例
Address already in use
解决
netstat -tunlp | grep 8080
kill -9 PID
报错示例
Cannot allocate memory
解决
java -Xms256m -Xmx512m -jar app.jar
例如 Java 17 在 CentOS 6 上跑不了。
解决
请直接把完整报错信息贴出来,例如:
java -jar xxx.jar
# 报错内容
我可以根据报错精确定位原因并给你命令。
如果你愿意,可以告诉我:
cat /etc/centos-release)我可以直接帮你改好 ✅