Debian 下编译 Java 报错的原因很多,最常见的是 JDK 未安装或版本不匹配。下面按排查顺序给你一个通用解决方案,你可以对照看看。
java -version
javac -version
openjdk version "17.0.x"
javac 17.0.x
command not found
说明 没有安装 JDK(或只装了 JRE)
sudo apt update
sudo apt install openjdk-17-jdk
sudo apt install openjdk-11-jdk
安装完成后再次检查:
javac -version
echo $JAVA_HOME
如果为空,需要设置:
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
编辑:
nano ~/.bashrc
添加:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
然后:
source ~/.bashrc
javac: command not found✅ 解决:没装 JDK,只装了 JRE
sudo apt install openjdk-17-jdk
Unsupported class file major version✅ 原因:Java 版本不匹配
例如:
✅ 解决:
java -version
javac -version
确保 java 和 javac 版本一致
package does not exist✅ 原因:缺少依赖或 CLASSPATH 错误
✅ 解决:
mvn clean compile
Permission denied
✅ 解决:
chmod +x *.java
cat > Hello.java << EOF
public class Hello {
public static void main(String[] args) {
System.out.println("Hello Debian");
}
}
EOF
javac Hello.java
java Hello
你可以直接把 完整报错信息贴出来(哪怕是英文),例如:
我可以 逐行帮你分析 ✅