在 Debian 下运行 Java 程序时遇到报错,原因可能很多。为了准确解决,最好先提供具体报错信息(终端完整错误栈、命令、Java 版本等)。
不过我可以先给你一个常见问题和通用排查思路清单,基本能覆盖 90% 的 Debian Java 问题。
java -version
如果提示:
Command 'java' not found
说明没装 JRE/JDK。
sudo apt update
sudo apt install default-jdk
或指定版本:
sudo apt install openjdk-17-jdk
update-alternatives --list java
No such file or directory / Permission denied原因:脚本或 jar 没有执行权限
解决:
chmod +x your_app.jar
或:
java -jar your_app.jar
UnsupportedClassVersionError原因:编译版本高于运行版本
例如:用 JDK 17 编译,但用 JDK 8 运行
解决:
sudo apt install openjdk-17-jdk
JAVA_HOMEJAVA_HOME is not set解决:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
永久生效:
nano ~/.bashrc
加入上面两行
Could not find or load main class原因:
检查:
jar tf app.jar
确认 META-INF/MANIFEST.MF 中 Main-Class
sudo netstat -tunlp | grep 8080
或:
sudo lsof -i:8080
杀掉进程:
sudo kill -9 PID
sudo apt install fonts-noto-cjk
运行加参数:
java -Dfile.encoding=UTF-8 -jar app.jar
java -verbose -jar app.jar
journalctl -xe
请贴出:
java -version 输出cat /etc/os-release)例如:
Debian 12,openjdk 17,运行
java -jar app.jar报Exception in thread "main" java.lang.NoClassDefFoundError
如果你愿意,把报错原文直接发出来,我可以一步一步帮你修 ✅