温馨提示×

ubuntu java报错怎么处理

小樊
33
2026-09-07 05:43:25
栏目: 编程语言

在 Ubuntu 上运行 Java 程序报错,原因非常多,需要先看具体报错内容。下面我按“常见场景 + 处理思路 + 常用命令”给你一个通用排查指南,你可以对照自己的情况处理;如果方便,也可以把完整报错信息贴出来,我可以直接帮你定位。


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

1. 查看 Java 是否安装

java -version

如果提示:

Command 'java' not found

说明 Java 没装或没配置 PATH

安装 OpenJDK(推荐):

sudo apt update
sudo apt install openjdk-17-jdk

验证:

java -version
javac -version

二、常见错误及处理方法

1️⃣ command not found: java

原因:没装 Java 或环境变量没配置

解决

sudo apt install default-jdk

或指定版本:

sudo apt install openjdk-11-jdk

2️⃣ UnsupportedClassVersionError

示例:

UnsupportedClassVersionError: ... has been compiled by a more recent version of the Java Runtime

原因

  • 代码用高版本 JDK 编译
  • 运行用的是低版本 JRE

解决

  • 升级 Java:
sudo apt install openjdk-17-jdk
  • 或重新用低版本编译:
javac -source 8 -target 8 xxx.java

3️⃣ ClassNotFoundException / NoClassDefFoundError

原因

  • 类名写错
  • 没指定 classpath
  • 包结构不对

解决

java -cp . com.example.Main

确认:

  • 文件名 = 类名
  • 包名目录结构正确

4️⃣ Permission denied

bash: ./xxx.jar: Permission denied

解决

chmod +x xxx.jar
java -jar xxx.jar

5️⃣ Port already in use

Address already in use

查看端口:

sudo netstat -tulnp | grep 8080

杀进程:

sudo kill -9 PID

6️⃣ 中文乱码

-Dfile.encoding=UTF-8

示例:

java -Dfile.encoding=UTF-8 -jar app.jar

三、环境变量配置(可选)

设置 JAVA_HOME

sudo nano /etc/environment

添加:

JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

生效:

source /etc/environment

四、建议你这样提供信息,我能更快帮你

你可以直接发:

  1. 完整报错信息(复制终端内容)
  2. 使用的 Java 版本
  3. java -jar 还是 javac/java
  4. Ubuntu 版本(lsb_release -a

例如:

Ubuntu 22.04,openjdk 17,运行 java -jar app.jar 报错:
Exception in thread "main" java.lang.NullPointerException

我可以按这个直接给你解决方案。

0