CentOS 上 Java 编译失败的排查步骤
一 环境确认
二 最小化复现与定位
三 依赖与类路径
四 版本兼容与编译参数
五 常见错误对照与修复
| 错误信息或现象 | 可能原因 | 修复建议 |
|---|---|---|
| javac: file not found: YourClass.java | 文件路径/文件名错误 | 检查当前目录与包结构,确保文件名与公共类一致 |
| error: cannot find symbol | 缺少依赖、类路径未包含 JAR、或代码引用错误 | 使用 -cp 加入依赖 JAR,核对包名与导入语句 |
| Error: Could not find or load main class | 类路径不对或包声明与目录不符 | 确认运行期 -cp 包含类所在目录,包结构匹配目录层级 |
| UnsupportedClassVersionError | 编译版本高于运行版本 | 统一 JDK 版本,或使用 -source/-target 对齐 |
| 中文乱码或非法字符 | 源码编码与编译编码不一致 | 使用 javac -encoding UTF-8 编译 |
| 权限不足 | 目录/文件不可读写 | 调整权限或以合适用户执行编译命令 |