在 CentOS 中“调试 Java 编译”通常有几种含义,我按最常见场景分别说明,你可以按需选用。
javac 编译并查看详细错误javac -Xlint:all YourFile.java
-Xlint:all:显示所有警告和潜在问题示例:
javac -Xlint:all Main.java
javac -verbose Main.java
会输出:
适合排查:
java -version
javac -version
如果提示:
command not found
说明没有安装 JDK(注意:JRE 不能编译)
yum install java-1.8.0-openjdk-devel -y
或
dnf install java-17-openjdk-devel -y
javac Main.java > compile.log 2>&1
cat compile.log
适合:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar
然后在本地 IDE 配置 Remote Debug。
如果问题是:
编译成功,但运行报错
用:
java -ea Main
或加断点(IDE)
| 问题 | 原因 |
|---|---|
| 找不到符号 | 类名/方法名错 |
| 不支持的发行版 | JDK 版本过低 |
| 编码错误 | 加 -encoding UTF-8 |
| 类找不到 | classpath 错 |
javac -encoding UTF-8 -cp .:lib/* Main.java
如果你能具体说一下:
我可以直接帮你定位问题。