在 Ubuntu 上遇到 Java 编译错误(javac 报错),通常可以按下面步骤来排查和解决。
java -version
javac -version
javac 提示 command not found,说明 JDK 没装(只装了 JRE)。sudo apt update
sudo apt install default-jdk
或指定版本(例如 JDK 17):
sudo apt install openjdk-17-jdk
安装后再次检查:
javac -version
javac: command not found✅ 原因:没装 JDK
✅ 解决:安装 JDK(见上)
error: package xxx does not exist✅ 原因:缺少依赖或 classpath 不对
✅ 解决:
-cp 指定:javac -cp .:lib/xxx.jar Main.java
error: cannot find symbol✅ 原因:
✅ 解决:
.java 文件名和 public 类名一致class Main is public, should be declared in a file named Main.java✅ 原因:文件名和 public 类名不一致
✅ 解决:
mv xxx.java Main.java
javac -encoding UTF-8 Main.java
查看已安装版本:
update-alternatives --list java
切换版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
mkdir test && cd test
nano Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello Ubuntu");
}
}
编译运行:
javac Hello.java
java Hello
你可以把 完整的报错信息(复制粘贴)发给我,例如:
Hello.java:5: error: cannot find symbol
我可以帮你精准定位 ✅
如果你愿意,也可以告诉我:
我可以进一步帮你优化配置。