在 CentOS 上“编译 Java”通常有两种含义,我分别说明,你可以按需选择:
如果你只是想 把 .java 文件编译成 .class 文件(或打包成 jar),那不需要编译 OpenJDK 本身,只需要安装 JDK。
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
dnf install -y java-17-openjdk java-17-openjdk-devel
-devel包里包含javac
验证:
java -version
javac -version
javac HelloWorld.java
运行:
java HelloWorld
jar cvf HelloWorld.jar HelloWorld.class
或现代方式(带 main):
jar cvfe HelloWorld.jar HelloWorld HelloWorld.class
java -jar HelloWorld.jar
如果你是想 自己编译 JDK(比如研究 JVM),步骤如下(以 OpenJDK 17 为例):
yum groupinstall -y "Development Tools"
yum install -y \
autoconf \
freetype-devel \
cups-devel \
libXtst-devel \
libXt-devel \
libXrender-devel \
libXrandr-devel \
libXi-devel \
alsa-lib-devel \
unzip \
zip
git clone https://github.com/openjdk/jdk.git
cd jdk
bash configure
常见参数:
bash configure --with-boot-jdk=/usr/lib/jvm/java-17-openjdk
make images
编译完成后:
./build/*/images/jdk/bin/java -version
⚠️ 编译非常耗时(10–60 分钟),建议内存 ≥ 8GB。
javac 找不到?yum install java-*-openjdk-devel
| 目的 | 解决方案 |
|---|---|
| 编译 Java 程序 | 安装 JDK + javac |
| 编译 OpenJDK | 下载源码 + make |
| 仅运行 Java | 安装 JRE |
如果你能告诉我:
我可以给你 更精确的命令方案。