“CentOS 上 Java 运行报错”这个现象太常见了,具体原因要看你运行的命令和报错信息,但下面我按最常见情况给你一个系统排查思路,你可以对照看是哪一种。
command not found: java说明 Java 没装或没配置环境变量
✅ 解决:
java -version
如果提示 command not found:
# 查看是否安装
rpm -qa | grep java
# 或
which java
安装 JDK(推荐):
yum install -y java-1.8.0-openjdk-devel
或手动安装 Oracle JDK 并配置:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
UnsupportedClassVersionError例如:
Unsupported major.minor version 52.0
✅ 原因:Java 版本不兼容
解决:
java -version
javac -version
如果程序是 JDK 11 编的,但用 JDK 8 运行就会报错。
Permission deniedbash: ./app.jar: Permission denied
✅ 解决:
chmod +x app.jar
或直接:
java -jar app.jar
No such file or directoryError: Could not find or load main class xxx
✅ 原因:
-cp例如:
version `GLIBC_2.25' not found
✅ CentOS 7 默认 glibc 太低
解决:
Java 能启动但网络异常:
getenforce
临时关闭测试:
setenforce 0
请你把下面信息发我:
1️⃣ 你运行的完整命令
java -jar xxx.jar
2️⃣ 完整报错信息(不要只发一句)
3️⃣ 系统是 CentOS 几?
cat /etc/centos-release
4️⃣ Java 版本
java -version
yum install -y java-1.8.0-openjdk-devel
java -version
java -jar yourapp.jar
如果你愿意,把报错原文直接贴出来,我可以一行一行帮你分析 ✅