温馨提示×

ubuntu java编译失败咋办

小樊
40
2026-09-01 04:38:10
栏目: 编程语言

Ubuntu 下 Java 编译失败原因很多,按下面步骤排查基本都能解决:


一、先确认 Java 是否安装

java -version
javac -version
  • 如果提示 command not found没装 JDK
  • 只显示 java 有,javac 没有 → 只装了 JRE,没装 JDK

安装 JDK(推荐 OpenJDK)

sudo apt update
sudo apt install openjdk-17-jdk

(也可用 8 / 11 / 21,看项目要求)


二、检查 JAVA_HOME(很常见坑)

echo $JAVA_HOME

如果为空:

sudo update-alternatives --config java

找到路径,例如:

/usr/lib/jvm/java-17-openjdk-amd64

设置:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

永久生效:

nano ~/.bashrc

把上面两行加进去,然后:

source ~/.bashrc

三、常见编译错误及解决办法

1️⃣ 找不到符号 / 包不存在

error: package xxx does not exist

✅ 解决:

  • 缺依赖(Maven / Gradle)
  • Maven 项目先执行:
mvn clean compile
  • Gradle:
gradle build

2️⃣ 编码问题(中文乱码)

unmappable character for encoding ASCII

✅ 解决:

javac -encoding UTF-8 Hello.java

3️⃣ 类名和文件名不一致

class Hello is public, should be declared in a file named Hello.java

✅ 解决:

  • public class 名字 = 文件名

4️⃣ 使用了高版本特性,JDK 版本低

error: lambda expressions are not supported in -source 7

✅ 解决:

javac -source 17 -target 17 Hello.java

或升级 JDK


四、贴错误信息最准

如果你愿意,把完整的报错信息发出来(或截图),我可以直接告诉你哪一行错了、怎么改。

你可以直接贴:

javac xxx.java

后面的所有红色输出。

0