Java 在 Ubuntu 上报错的原因很多,必须结合具体报错信息才能精确定位。下面我先给你一个常见原因速查表 + 排查步骤,你可以对照看看;如果你愿意,把完整报错贴出来,我可以精准帮你分析。
java -version
如果提示:
Command 'java' not found
说明 Java 没装或没加入 PATH。
✅ 解决:
sudo apt update
sudo apt install openjdk-17-jdk
错误示例:
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
报错示例:
UnsupportedClassVersionError
major.minor version 61.0
✅ 原因:
✅ 解决: 统一版本,或指定编译版本:
javac -source 8 -target 8 Hello.java
报错示例:
error: unmappable character for encoding ASCII
✅ 解决:
javac -encoding UTF-8 Hello.java
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
Permission denied
✅ 解决:
chmod +x xxx.jar
java -version ✅✅ IDE 里手动设置 JDK 路径
在终端依次执行:
java -version
javac -version
echo $JAVA_HOME
which java
把输出贴出来,我可以直接告诉你哪里有问题。
你可以直接发类似这种信息:
Ubuntu 22.04,运行 java -jar xxx.jar 报错: (贴完整错误)
或者:
编译时报错
UnsupportedClassVersionError
我可以一步一步带你修 ✅