你这个问题信息太少了,我没法直接判断是哪一类 Ubuntu 下的 Java 编译错误。下面我先给你常见原因清单 + 排查步骤,你可以对照看,或者直接把完整报错贴出来。
现象
javac: command not found
解决
sudo apt update
sudo apt install openjdk-17-jdk # 或 11 / 8
验证:
java -version
javac -version
现象
解决
sudo update-alternatives --config java
编辑:
nano ~/.bashrc
加:
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
现象
class X is public, should be declared in a file named X.java
解决
public class Hello → 文件必须叫 Hello.java现象
error: unmappable character for encoding ASCII
解决
javac -encoding UTF-8 Hello.java
现象
invalid source release: 17
解决
javac -source 11 -target 11 Hello.java
或升级 JDK
现象
package xxx does not exist
解决
package 一致javac com/example/Main.java
请直接发:
lsb_release -a
java -version
javac -version
如果你愿意,把报错原文复制过来,我可以直接告诉你改哪一行。