温馨提示×

ubuntu编译java出错怎么办

小樊
33
2026-10-01 11:13:14
栏目: 编程语言

在 Ubuntu 上编译 Java 出错,通常可以从环境、命令、代码、依赖四个方面来排查。下面给你一个系统化的处理思路:


一、先确认 Java 环境是否正常

1. 查看 Java 是否安装

java -version
javac -version
  • 如果 javac 提示 command not found
    → 说明 JDK 没装(只装了 JRE)

2. 安装 JDK(推荐 OpenJDK)

sudo apt update
sudo apt install openjdk-17-jdk

(Java 8 可用 openjdk-8-jdk)

3. 确认 javac 可用

which javac

二、检查编译命令是否正确

常见错误示例

javac Hello.java

✅ 正确前提:

  • 文件存在
  • 文件名和 public class 名一致
  • 当前目录正确

示例

// Hello.java
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello");
    }
}

编译:

javac Hello.java

运行:

java Hello

三、常见错误及解决办法

1. 编码错误(中文乱码)

error: unmappable character

解决:

javac -encoding UTF-8 Hello.java

2. 类名和文件名不一致

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

✅ 修改文件名或类名保持一致


3. 缺少依赖(jar 包)

package xxx does not exist

解决:

javac -cp lib/xxx.jar Main.java

4. 使用了 Java 新特性但 JDK 版本太低

lambda expressions are not supported

解决:

  • 升级 JDK
  • 或指定版本:
javac --release 17 Main.java

四、查看完整错误信息(很重要)

请把完整报错内容贴出来,例如:

Main.java:5: error: cannot find symbol

这样能精准定位问题。


五、你可以直接告诉我

如果你愿意,可以发我:

  1. 报错全文
  2. Java 文件名和代码片段
  3. Ubuntu 版本 & JDK 版本

我可以一步步帮你改到能编译通过 ✅

0 踩