温馨提示×

ubuntu编译java报错怎么解决

小樊
41
2026-09-28 13:36:01
栏目: 编程语言

在 Ubuntu 上编译 Java 报错,原因有很多。下面按最常见情况 + 解决步骤给你一个排查清单,你可以对照看看是哪一种。


一、最常见原因 & 解决方法

1️⃣ javac: command not found

说明:没装 JDK,或没配置环境变量。

✅ 解决:

# 查看是否安装
java -version
javac -version

如果 javac 不存在:

sudo apt update
sudo apt install default-jdk

安装后再次:

javac -version

2️⃣ 多个 Java 版本冲突

现象:

error: invalid source release: 11

✅ 解决:

sudo update-alternatives --config java
sudo update-alternatives --config javac

选择你需要的版本(如 JDK 11 / 17)。


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

错误示例:

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

✅ 解决:

  • public class 的名字 必须 和文件名一致
  • 例如:
public class HelloWorld {}

文件名必须是:

HelloWorld.java

4️⃣ 编译命令写错

❌ 错误:

java HelloWorld.java

✅ 正确:

javac HelloWorld.java
java HelloWorld

5️⃣ 中文或特殊字符路径

现象:

error: illegal character

✅ 解决:

  • 不要用中文目录
  • 路径不要有空格

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

✅ 解决:

javac -encoding UTF-8 HelloWorld.java

7️⃣ 包名(package)不对

例如:

package com.demo;

但文件不在:

com/demo/Hello.java

✅ 解决:

  • 按包结构放文件
  • 或删除 package 语句

二、建议你这样贴报错信息(方便精准解决)

你可以直接把 完整报错信息 贴出来,比如:

javac Hello.java
Hello.java:3: error: cannot find symbol

我可以逐行帮你分析。


三、快速自检模板(可直接复制)

java -version
javac -version
pwd
ls
javac 你的文件.java

把输出贴给我即可 ✅

如果你愿意,我也可以一步一步远程式带你排查。

0 踩