CentOS 上运行 Java 报错是比较常见的问题,原因很多。为了准确帮你排查,我需要你提供更具体的完整报错信息。不过,先给你一份最常见原因 + 通用排查步骤,你可以对照检查。
典型报错
-bash: java: command not found
或
java: command not found
检查
java -version
如果没有安装:
# 查看可用版本
yum list available java*
# 安装 JDK 8(示例)
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
报错示例
Error: JAVA_HOME is not set
排查
echo $JAVA_HOME
配置(示例)
vim /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 your.jar
报错示例
Address already in use
检查端口
netstat -tunlp | grep 8080
# 或
ss -tunlp | grep 8080
解决
kill -9 PID
报错示例
java.lang.OutOfMemoryError
解决
java -Xms512m -Xmx1024m -jar your.jar
服务器内存小可关闭其他服务或升级服务器。
现象
检查防火墙
systemctl status firewalld
放行端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
建议
# 1. 查看 Java 是否安装
java -version
# 2. 查看报错日志
journalctl -xe
# 或
cat nohup.out
# 3. 查看进程
ps -ef | grep java
# 4. 查看端口
ss -tunlp
请把以下信息发我(复制粘贴即可):
java -jar xxx.jar)java -version 输出cat /etc/centos-release
我可以一步一步帮你精确到哪一行出问题、怎么改。