CentOS Java运行时错误排查手册
一 快速定位流程
source使其生效。二 常见错误与修复要点
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 命令未找到 java | which java;ls /usr/lib/jvm | 安装 OpenJDK;在**/etc/profile.d/java.sh设置JAVA_HOME与PATH**并source |
| Unsupported major.minor version | java -version 与编译 JDK 对比 | 统一编译与运行 JDK 版本,或按需升级/降级 |
| ClassNotFoundException | 启动命令与**-cp**;依赖是否齐全 | 补全依赖;使用通配符**/path/to/libs/***;检查打包是否包含依赖 |
| NoClassDefFoundError | 对比编译期与运行期类路径 | 确认运行期能访问编译期用到的类与依赖 |
| 权限被拒绝 | ls -l 脚本/程序/日志目录 | 为运行用户授予执行与读写权限 |
| 内存不足或频繁 GC | 日志出现OutOfMemoryError;jstat -gc 观察 | 调整**-Xms/-Xmx**;分析堆转储(jmap + MAT) |
| 中文乱码 | AWT/Swing 界面或日志中文异常 | 安装中文字体(如 simsun.ttf/simhei.ttf),更新字体缓存并重启应用 |
| 端口被占用 | ss -lntp | 结束占用进程或调整应用端口 |
| JVM 崩溃 | 工作目录出现hs_err_pid*.log | 分析该文件中的信号、寄存器、线程与库信息,定位本地库或硬件问题 |
三 深入诊断工具与方法
四 环境与配置检查清单
五 最小复现与求助模板