Debian 上 Java 启动失败的原因很多,下面按最常见 → 较少见的顺序给你排查思路,你可以对照看是哪一种。
java -version
如果提示:
command not found
说明没装或不在 PATH。
✅ 解决:
sudo apt update
sudo apt install default-jre
# 或
sudo apt install openjdk-17-jdk
很多程序依赖 JAVA_HOME。
检查:
echo $JAVA_HOME
为空就可能出问题。
✅ 解决:
sudo update-alternatives --config java
找到路径,例如:
/usr/lib/jvm/java-17-openjdk-amd64
写入:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
(可写入 ~/.bashrc 或 /etc/profile)
Permission denied
✅ 解决:
chmod +x your.jar
# 或
chmod +x startup.sh
比如 Tomcat、Spring Boot:
Address already in use
✅ 查看:
ss -tulnp | grep 8080
✅ 解决:
❌ 错误:
java MyApp.jar
✅ 正确:
java -jar MyApp.jar
no main manifest attribute
✅ 解决:
-jarjava -cp app.jar com.example.Main
Cannot allocate memory
✅ 解决:
java -Xms64m -Xmx256m -jar app.jar
如果你用:
systemctl start yourapp
查看日志:
journalctl -u yourapp -xe
常见问题:
java -version
echo $JAVA_HOME
which java
java -jar yourapp.jar
请把具体报错信息贴出来,例如:
我可以直接告诉你是哪一行导致的失败。