在 Debian 下运行 Java 程序报错,可按下面思路和常见场景来排查解决。
java -version
command not found:sudo apt update
sudo apt install default-jdk
或安装指定版本:
sudo apt install openjdk-17-jdk
echo $JAVA_HOME
若为空,可设置:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
(路径按实际版本调整)
Error: Could not find or load main class原因:
解决:
javac com/example/Main.java
java com.example.Main
UnsupportedClassVersionError例如:
Unsupported major.minor version 61.0
原因:
编译版本(如 Java 17)高于运行版本(如 Java 11)
解决:
javac -source 11 -target 11 Main.java
Permission deniedbash: ./app.jar: Permission denied
解决:
chmod +x app.jar
java -jar app.jar
NoSuchMethodError / ClassNotFoundException通常是:
解决:
CLASSPATHjava -jar 启动日志建议使用:
nohup java -jar app.jar > app.log 2>&1 &
查看日志:
tail -f app.log
java.lang.OutOfMemoryError
解决:
java -Xms512m -Xmx1024m -jar app.jar
Address already in use
查看:
sudo netstat -tunlp | grep 8080
释放或改端口。
如果你仍无法解决,可以把完整报错信息发出来,并说明:
cat /etc/debian_version)我可以帮你精确定位问题。