温馨提示×

Ubuntu Java报错如何排查

小樊
44
2026-08-11 20:59:49
栏目: 编程语言

在 Ubuntu 上排查 Java 报错,通常可以按 “看现象 → 看日志 → 看环境 → 看代码/配置” 的思路来。下面给你一套通用排查流程,基本能解决 90% 的问题。


一、先明确报错类型(非常关键)

Java 报错一般分几类:

  1. 命令找不到
    • java: command not found
  2. 环境/版本问题
    • UnsupportedClassVersionError
  3. 编译错误
    • javac 报错
  4. 运行时异常
    • NullPointerExceptionClassNotFoundException
  5. 服务启动失败
    • Spring Boot / Tomcat 起不来
  6. 权限 / 路径问题

二、基础环境排查(第一步必做)

1️⃣ 检查 Java 是否安装

java -version
javac -version

✅ 正常示例:

openjdk version "17.0.9"

❌ 异常:

Command 'java' not found

2️⃣ 没安装 Java(Ubuntu 常见)

sudo apt update
sudo apt install openjdk-17-jdk

(版本可按需:8 / 11 / 17 / 21)


三、JAVA_HOME 是否正确(非常常见)

检查

echo $JAVA_HOME

设置(示例)

sudo nano /etc/environment

添加或修改:

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

或用户级:

nano ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

生效:

source ~/.bashrc

四、常见 Java 报错及排查方法

✅ 1. java: command not found

原因

  • Java 没装
  • PATH 没配置

解决

sudo apt install openjdk-17-jdk

✅ 2. UnsupportedClassVersionError

class file version 61.0, this version of the Java Runtime only recognizes up to 52.0

原因

  • 编译版本 > 运行版本

解决

  • 用相同版本运行
  • 或重新编译:
javac -source 8 -target 8 xxx.java

✅ 3. ClassNotFoundException / NoClassDefFoundError

原因

  • 类路径不对
  • jar 没加

排查

ls
echo $CLASSPATH

运行 jar

java -jar xxx.jar

运行 class

java -cp . com.example.Main

✅ 4. Spring Boot 启动失败

重点看:

java -jar app.jar

或:

tail -f logs/app.log

常见错误:

  • 端口被占用
netstat -tunlp | grep 8080
  • 配置文件错误
  • 数据库连不上

五、查看日志(最重要)

1️⃣ 控制台日志

java -jar app.jar

2️⃣ 后台运行日志

nohup java -jar app.jar > app.log 2>&1 &
tail -f app.log

3️⃣ 系统日志

journalctl -xe

六、权限 & 路径问题

1️⃣ 没执行权限

chmod +x app.jar

2️⃣ 路径错误

pwd
ls

七、快速定位“是哪一步出错”

阶段 排查重点
编译 javac 报错
运行 java 报错
启动 端口 / 配置
运行中断 异常栈

八、如果你愿意,我可以直接帮你定位

你可以直接把 完整报错信息 发给我,比如:

✅ 报错截图 / 文字
✅ 执行的命令
✅ Java 版本
✅ Ubuntu 版本

我可以 逐行帮你分析,甚至直接告诉你改哪一行。

0