温馨提示×

Java在Ubuntu为什么报错

小樊
38
2026-08-23 13:15:23
栏目: 编程语言

Java 在 Ubuntu 上报错的原因很多,必须结合具体报错信息才能精确定位。下面我先给你一个常见原因速查表 + 排查步骤,你可以对照看看;如果你愿意,把完整报错贴出来,我可以精准帮你分析。


一、最常见原因汇总(90% 都在这里)

1️⃣ Java 没安装或版本不对

java -version

如果提示:

Command 'java' not found

说明 Java 没装或没加入 PATH

✅ 解决:

sudo apt update
sudo apt install openjdk-17-jdk

2️⃣ JAVA_HOME 没配置或配置错误

错误示例:

JAVA_HOME is not set

或某些工具(Maven / Hadoop / Spark)启动失败。

✅ 解决:

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

3️⃣ 编译版本 & 运行版本不一致

报错示例:

UnsupportedClassVersionError
major.minor version 61.0

✅ 原因:

  • Java 17 编译
  • Java 8 运行

✅ 解决: 统一版本,或指定编译版本:

javac -source 8 -target 8 Hello.java

4️⃣ 文件编码问题(中文乱码 / 编译失败)

报错示例:

error: unmappable character for encoding ASCII

✅ 解决:

javac -encoding UTF-8 Hello.java

5️⃣ 类找不到(classpath 问题)

Error: Could not find or load main class

✅ 常见原因:

  • 包名和目录不一致
  • 没在正确目录运行

✅ 正确示例:

package com.demo;

public class Hello {}

目录结构必须是:

com/demo/Hello.java

运行:

javac com/demo/Hello.java
java com.demo.Hello

6️⃣ 权限问题

Permission denied

✅ 解决:

chmod +x xxx.jar

7️⃣ Ubuntu 下 Java 和 IDE 不一致

  • 终端 java -version
  • IDEA / Eclipse ❌

✅ IDE 里手动设置 JDK 路径


二、快速自检清单 ✅

在终端依次执行:

java -version
javac -version
echo $JAVA_HOME
which java

把输出贴出来,我可以直接告诉你哪里有问题。


三、你可以这样问我(更快解决)

你可以直接发类似这种信息:

Ubuntu 22.04,运行 java -jar xxx.jar 报错: (贴完整错误)

或者:

编译时报错 UnsupportedClassVersionError

我可以一步一步带你修 ✅

0