在 CentOS 上编译 Java(通常指 编译 OpenJDK 或自己的 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
✅ javac 必须有,否则不能编译
javac Hello.java
java Hello
或打包:
jar cvf hello.jar Hello.class
这是“编译 Java 本身”,不是写 Java 程序。
yum groupinstall -y "Development Tools"
yum install -y \
autoconf \
automake \
libtool \
cups-devel \
libX11-devel \
libXext-devel \
libXrender-devel \
libXtst-devel \
libXt-devel \
freetype-devel \
fontconfig-devel \
alsa-lib-devel \
zip \
unzip \
which
编译 JDK N,需要已安装 JDK N-1
例如编译 JDK 17:
yum install -y java-16-openjdk-devel
或手动下载:
https://jdk.java.net/
git clone https://github.com/openjdk/jdk.git
cd jdk
bash configure
make images
编译完成后:
./build/*/images/jdk/bin/java -version
javac command not found✅ 没装 devel 包:
yum install java-1.8.0-openjdk-devel
export MAKEFLAGS="-j1"
✅ 建议:
| 你的目的 | 需要 |
|---|---|
| 写 Java 程序 | 安装 JDK |
| 打包 jar | JDK |
| 编译 OpenJDK | 源码 + 编译依赖 + Boot JDK |
| 生产环境 | 不建议自己编译 JDK |
如果你愿意,可以告诉我:
我可以直接给你一套 可复制执行的完整命令。