在 Debian 上编译 Java 时出错,原因很多,最常见的是 JDK 未安装或版本不匹配。下面按“排查 → 解决”的思路给你一个通用处理方案。
在终端执行:
java -version
javac -version
java version "17.0.9"
javac 17.0.9
⚠️ 如果 javac 命令不存在,说明你只装了 JRE,没有 JDK。
sudo apt update
Java 11(最稳定,服务器常用)
sudo apt install openjdk-11-jdk
Java 17(新项目推荐)
sudo apt install openjdk-17-jdk
javac -version
echo $JAVA_HOME
如果为空,手动设置(以 Java 17 为例):
sudo nano /etc/environment
添加:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
然后:
source /etc/environment
查看系统中 Java:
update-alternatives --config java
update-alternatives --config javac
选择你需要的版本。
javac: command not found✅ 解决:安装 JDK(见第二步)
Unsupported class file major version原因:
✅ 解决:
java -version
javac -version
确保 javac 和 java 版本一致
package does not exist原因:
✅ 解决:
javac -cp "lib/*" HelloWorld.java
javac -encoding UTF-8 HelloWorld.java
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Debian");
}
}
编译运行:
javac HelloWorld.java
java HelloWorld
sudo apt install maven
mvn -version
sudo apt install gradle
gradle -v
如果你仍然报错,直接把终端里的完整错误信息复制给我,例如:
error: package org.springframework does not exist
我可以精确告诉你怎么解决 ✅