在 CentOS 上 Java 编译失败,原因可能有很多种。下面我按最常见原因 → 排查方法 → 解决办法给你梳理一下,你可以对照看是哪一种。
现象
javac: command not found
原因
java(JRE)javac 属于 JDK解决
# 查看是否安装 JDK
rpm -qa | grep jdk
java -version
which javac
安装 JDK(示例 CentOS 7):
yum install -y java-1.8.0-openjdk-devel
现象
解决
echo $JAVA_HOME
正确示例:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
写入环境变量:
vi ~/.bashrc
source ~/.bashrc
现象
编码 GBK 的不可映射字符
解决
javac -encoding UTF-8 Hello.java
现象
类 Hello 是公共的,应在 Hello.java 中声明
规则
public class 名 = 文件名✅ 正确:
// Hello.java
public class Hello {}
现象
找不到符号 / 无法访问包
解决
package com.demo;
# 编译
javac com/demo/Test.java
# 运行
java com.demo.Test
现象
package xxx does not exist
解决
javac -cp lib/*.jar Main.java
建议
请你依次执行:
which java
which javac
java -version
javac -version
echo $JAVA_HOME
把报错信息完整贴出来,我可以精准帮你定位。
我可以一步一步帮你修 ✅