Debian 上 Java 启动失败的原因有很多,常见情况和对应排查思路如下。你可以对照看看属于哪一种。
现象
java: command not found
检查
which java
java -version
解决
sudo apt update
sudo apt install default-jre
# 或指定版本
sudo apt install openjdk-17-jdk
现象
检查
echo $JAVA_HOME
解决(示例)
sudo apt install openjdk-17-jdk
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
写入环境变量:
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc
现象
cannot execute binary file
检查
uname -m
file $(which java)
解决 安装对应架构的 JDK。
现象
Error occurred during initialization of VM
Could not reserve enough space for object heap
解决
-Xmx现象
Permission denied
解决
chmod +x your.jar
运行用户需有执行权限和目录访问权限。
常见错误
示例 service
[Service]
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ExecStart=/usr/bin/java -jar /opt/app/app.jar
User=appuser
重载:
sudo systemctl daemon-reload
sudo systemctl restart yourapp
查看日志:
journalctl -u yourapp -e
现象
Address already in use
检查
ss -tulnp | grep 8080
unzip -t app.jar
java -version
echo $JAVA_HOME
which java
journalctl -xe
dmesg | tail
cat /etc/os-release)我可以帮你精确分析。