在 Ubuntu 上 Java 编译失败,通常原因比较集中。你可以按下面步骤逐一排查:
java -version
javac -version
java -version:运行环境(JRE)javac -version:编译器(JDK)如果 javac 命令不存在,说明没装 JDK。
sudo apt update
sudo apt install default-jdk
或指定版本(如 Java 17):
sudo apt install openjdk-17-jdk
sudo update-alternatives --config java
常见路径:
/usr/lib/jvm/java-17-openjdk-amd64
编辑 ~/.bashrc 或 ~/.zshrc:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
使配置生效:
source ~/.bashrc
javac: command not found✅ 没装 JDK
➡ 安装 openjdk-*-jdk
error: package xxx does not exist✅ 缺少依赖或 classpath 不对
javac -cp .:lib/* Main.java
如果是 Maven / Gradle 项目:
mvn compile
gradle build
class file has wrong version✅ Java 版本不兼容
例如:
查看版本:
javac -version
java -version
统一版本,或指定编译版本:
javac --release 8 Main.java
javac -encoding UTF-8 Main.java
Java 要求:
public class Hello {}
文件名必须是:
Hello.java
javac 是否可用请把 完整的报错信息 或 编译命令 发出来,例如:
javac Main.java
以及报错内容,我可以直接帮你定位问题。