在 CentOS 上“编译 Java”通常有两种理解,我分别说明,你可以按需选择:
这是最常见的情况。
# CentOS 7
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# CentOS 8 / Stream
dnf install -y java-17-openjdk java-17-openjdk-devel
验证:
java -version
javac -version
vim Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello CentOS");
}
}
⚠️ 文件名必须与类名一致
javac Hello.java
生成:
Hello.class
java Hello
✅ 完成
如果你想自己编译 JDK 本身,步骤如下(以 OpenJDK 8 为例):
yum groupinstall -y "Development Tools"
yum install -y \
alsa-lib-devel \
cups-devel \
libX11-devel \
libXext-devel \
libXrender-devel \
libXtst-devel \
libXt-devel \
freetype-devel \
fontconfig-devel \
zip \
unzip
git clone https://github.com/openjdk/jdk8u.git
cd jdk8u
bash configure
make images
编译完成后:
./build/*/images/j2sdk-image/bin/java -version
⚠️ 编译时间较长(10–60 分钟)
javac: command not found原因:只装了 JRE,没装 JDK
解决:
yum install -y java-1.8.0-openjdk-devel
| 需求 | 推荐 |
|---|---|
| 编译 Java 程序 | ✅ 安装 JDK + javac |
| 学习 Java | ✅ OpenJDK 11 / 17 |
| 编译 JDK 本身 | ⚠️ 仅源码研究 |
如果你愿意,可以告诉我:
我可以给你更精确的命令。