在 Ubuntu 下 Java 编译失败,常见原因和排查步骤如下,你可以按顺序来检查:
java -version
javac -version
command not foundsudo apt update
sudo apt install openjdk-17-jdk
安装完成后再次执行:
javac -version
echo $JAVA_HOME
which javac
如果 JAVA_HOME 为空,可以设置:
sudo nano /etc/environment
添加(路径按实际版本改):
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
保存后:
source /etc/environment
error: file not found: Hello.java
✅ 解决:
javacls
javac Hello.java
class Hello is public, should be declared in a file named Hello.java
✅ 解决:
public class 名必须和 .java 文件名一致javac -encoding UTF-8 Hello.java
error: lambda expressions are not supported in -source 7
✅ 解决:
javac -source 17 -target 17 Hello.java
请把完整的报错信息贴出来,例如:
Hello.java:5: error: cannot find symbol
这样能精准定位问题。
javac -Xlint:all Hello.java
可以看到更详细的警告和错误。
如果你愿意,可以把:
发给我,我可以直接帮你改 ✅