温馨提示×

ubuntu下java编译报错咋解决

小樊
33
2026-10-19 01:18:23
栏目: 编程语言

在 Ubuntu 下用 Java 编译报错,原因很多,一般是环境、命令、代码、权限这几类。下面按「最常见 → 排查步骤 → 常见错误示例」给你一个实用清单。


一、先确认基础环境(最常见)

1. 是否安装了 JDK(不是 JRE)

java -version
javac -version
  • 只有 java 没有 javac → 没装 JDK
  • 解决:
sudo apt update
sudo apt install default-jdk
# 或指定版本
sudo apt install openjdk-17-jdk

二、最常见编译命令错误

✅ 正确方式

javac Hello.java
java Hello

❌ 常见错误

java Hello.java   # 旧版本 Java 不支持
javac Hello       # 没写 .java

三、常见报错 & 解决办法

1️⃣ javac: command not found

原因:没装 JDK 或 PATH 没配置

解决

sudo apt install default-jdk
which javac

2️⃣ error: class Hello is public, should be declared in a file named Hello.java

原因:文件名和 public 类名不一致

解决

  • 文件名 = 类名
public class Hello {}

→ 文件必须叫 Hello.java


3️⃣ package xxx does not exist

原因:

  • 没加 -cp
  • 包结构不对

解决

javac -cp . com/example/Main.java
java -cp . com.example.Main

4️⃣ could not find or load main class

原因:

  • 类名写错
  • 不在包根目录运行

✅ 正确示例:

project/
 └── com/example/Main.java
cd project
javac com/example/Main.java
java com.example.Main

5️⃣ 中文乱码 / 编码错误

javac -encoding UTF-8 Hello.java

四、推荐排错流程(通用)

  1. javac -version
  2. 文件名 = public 类名
  3. 在源码根目录编译
  4. 用 -cp 指定依赖
  5. 看报错第一行,别看最后一行

五、如果你愿意,我可以直接帮你

你可以贴出:

  • 报错信息(完整)
  • 文件结构
  • Java 版本
  • 编译命令

我可以直接告诉你是哪一行、为什么、怎么改。

0 踩