在 CentOS 上 Java 报错的原因有很多,常见情况可以归纳成下面几类。你可以对照看看是哪一种,或者把具体报错信息贴出来,我可以更精准地帮你分析。
报错示例:
-bash: java: command not found
或
UnsupportedClassVersionError
原因
解决
java -version
安装:
yum install java-1.8.0-openjdk-devel
# 或
yum install java-11-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 xxx.jar
chown -R user:user /app
报错示例:
BindException: Address already in use
或
Connection refused
解决
netstat -tunlp | grep 8080
firewall-cmd --list-ports
报错示例:
java.lang.OutOfMemoryError
解决
java -Xms512m -Xmx2g -jar app.jar
free -h
报错但不明显,比如服务起不来
临时关闭测试
setenforce 0
报错示例:
version 'GLIBC_2.17' not found
解决
请贴出:
cat /etc/redhat-release)java -version)如果你愿意,可以直接把报错日志贴出来,我可以一步一步帮你查。