温馨提示×

Ubuntu Java为何运行报错

小樊
46
2026-07-27 06:45:46
栏目: 编程语言

Ubuntu 上运行 Java 报错的原因很多,必须结合具体报错信息才能精确定位。下面我先给你一个常见原因速查表,你可以对照看看属于哪一类;如果你愿意,把完整报错贴出来,我可以一步到位帮你解决。


一、最常见原因速查(90% 都在这里)

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

现象

java: command not found

No such file or directory

检查

java -version
javac -version

解决

sudo apt update
sudo apt install openjdk-17-jdk

(Ubuntu 22.04+ 推荐 17,老项目可用 8 / 11)


2️⃣ JAVA_HOME 没配置

现象

Error: JAVA_HOME is not set

或 Tomcat / Maven / Hadoop 启动失败

解决

sudo update-alternatives --config java

找到路径,例如:

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

然后:

echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

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

现象

UnsupportedClassVersionError
major.minor version 61.0

原因

  • 用 Java 17 编译
  • 用 Java 8 运行

解决

✅ 统一版本,或:

java -version
javac -version

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

现象

Error: Could not find or load main class Hello

常见原因

  • 文件名和类名不一致
  • 没在正确目录运行
  • 没加 -cp

✅ 正确示例:

javac Hello.java
java Hello

5️⃣ 权限问题

现象

Permission denied

解决

chmod +x xxx.jar

sudo java -jar xxx.jar

6️⃣ 中文 / 编码问题

现象

乱码

解决

java -Dfile.encoding=UTF-8 xxx

二、快速自检清单(你可以直接照着做)

java -version
javac -version
echo $JAVA_HOME
which java

把这 4 条输出贴出来,我可以直接判断问题。


三、如果你愿意,我可以进一步帮你

你可以直接发我:

  • 完整报错信息(复制粘贴)
  • ✅ 你执行的命令
  • ✅ Java 版本 & Ubuntu 版本

例如:

Ubuntu 22.04
java 17
报错:UnsupportedClassVersionError

我可以一步一步带你修 ✅

0