在 Ubuntu 上用 Java 编译报错,原因非常多,下面按最常见情况给你一个排查清单。你可以对照看看是哪一类。
javac: command not found说明 没有安装 JDK 或不在 PATH 中
检查:
java -version
javac -version
如果 javac 不存在:
sudo apt update
sudo apt install default-jdk
验证:
javac -version
error: package xxx does not exist通常是:
-cp示例:
javac -cp lib/some.jar Main.java
如果是 Maven 项目:
mvn compile
class file has wrong version例如:
bad class file, class file has wrong version 61.0, should be 52.0
含义:
解决:
javac -source 8 -target 8 Main.java
查看当前 JDK:
update-alternatives --list java
Main.java:3: error: cannot find symbol通常是:
示例:
System.ou.println("hi"); // 错
应为:
System.out.println("hi");
Java 要求:
public class Hello {}
文件名必须是:
Hello.java
错误示例:
hello.java ← 小写,报错
Ubuntu 默认 UTF-8,但有时仍报错:
unmappable character for encoding ASCII
解决:
javac -encoding UTF-8 Main.java
查看:
update-alternatives --config java
update-alternatives --config javac
把完整报错信息贴出来,我可以精准判断,例如:
Main.java:5: error: cannot find symbol
lsb_release -a)java -version)我可以一步一步帮你解决 ✅