CentOS 本身是可以编译 Java 代码的,如果你“无法编译 Java 代码”,通常不是系统问题,而是环境或操作问题。下面按最常见原因帮你排查。
javac -version
提示:
-bash: javac: command not found
CentOS 默认可能只有 java(运行用),没有 javac(编译用)
yum install -y java-1.8.0-openjdk-devel
dnf install -y java-1.8.0-openjdk-devel
或 JDK 11:
dnf install -y java-11-openjdk-devel
验证:
javac -version
javac 存在,但 shell 找不到
which javac
如果为空,手动配置:
vi ~/.bashrc
添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
❌ 错误示例:
java Test.java
✅ 正确步骤:
javac Test.java
java Test
CentOS 默认可能是:
echo $LANG
# 可能是 C 或 POSIX
建议设置:
export LANG=en_US.UTF-8
否则中文注释可能编译报错。
ls -l Test.java
如果没有读权限:
chmod +r Test.java
yum install -y java-1.8.0-openjdk-devel
vi Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello CentOS");
}
}
javac Hello.java
java Hello
我可以直接帮你定位,例如:
javac: command not foundpackage does not existunsupported class file major versionPermission denied你可以把报错原样贴出来。