在 CentOS 上“编译 Java”通常有两种理解,我分别说明,你可以对号入座:
这是最常见的情况。
CentOS 7/8/Stream 都可以用:
# 查看是否已有
java -version
javac -version
如果没有 javac,说明只装了 JRE,需要安装 JDK。
yum install -y java-1.8.0-openjdk-devel
dnf install -y java-17-openjdk-devel
✅ 一定要装
-devel,否则没有javac
javac Hello.java
生成:
Hello.class
运行:
java Hello
✅ 不需要额外“在哪编译”,只要终端能执行 javac 即可。
如果你是问:
“CentOS 上如何编译 OpenJDK 源码?”
那步骤如下(高级用法):
yum groupinstall -y "Development Tools"
yum install -y \
autoconf \
unzip \
zip \
libXtst-devel \
libXt-devel \
libXrender-devel \
cups-devel \
freetype-devel \
alsa-lib-devel \
fontconfig-devel
git clone https://github.com/openjdk/jdk.git
cd jdk
bash configure
make images
编译完成后 JDK 在:
build/*/images/jdk
| 场景 | 推荐 |
|---|---|
| 普通开发 | Java 8 / 11 / 17 |
| 服务器 | Java 11 / 17 |
| 编译 OpenJDK | 用系统已有 JDK 作为 bootstrap |
❌ 不需要
✅ 普通用户即可
如果你能具体说一句:
.java 编译成 .class”我可以给你 精确到命令级别 的回答。