温馨提示×

CentOS编译Java需要啥

小樊
46
2026-07-09 10:41:38
栏目: 编程语言

CentOS 上编译 Java(通常指 编译 OpenJDK 或自己的 Java 程序)所需的环境和步骤不一样,下面分开说明,你可以对号入座。


一、在 CentOS 上 编译 Java 程序(.java → .class / jar)

1️⃣ 安装 JDK(最常见)

# 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 必须有,否则不能编译


2️⃣ 编译 Java 程序

javac Hello.java
java Hello

或打包:

jar cvf hello.jar Hello.class

二、在 CentOS 上 编译 OpenJDK(源码编译 JDK)

这是“编译 Java 本身”,不是写 Java 程序。

1️⃣ 基本依赖(非常重要)

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

2️⃣ 安装 Boot JDK(引导 JDK)

编译 JDK N,需要已安装 JDK N-1

例如编译 JDK 17

yum install -y java-16-openjdk-devel

或手动下载:

https://jdk.java.net/

3️⃣ 下载 OpenJDK 源码

git clone https://github.com/openjdk/jdk.git
cd jdk

4️⃣ 配置 & 编译

bash configure
make images

编译完成后:

./build/*/images/jdk/bin/java -version

三、常见问题

javac command not found

✅ 没装 devel 包:

yum install java-1.8.0-openjdk-devel

❌ 编译 OpenJDK 报内存不足

export MAKEFLAGS="-j1"

❌ CentOS 7 太老,编译新 JDK 失败

✅ 建议:

  • CentOS 8 / Stream
  • 或用 Docker 编译

四、快速判断你要哪种

你的目的 需要
写 Java 程序 安装 JDK
打包 jar JDK
编译 OpenJDK 源码 + 编译依赖 + Boot JDK
生产环境 不建议自己编译 JDK

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 想编译 Java 程序 还是 JDK
  • ✅ 是否需要指定 Java 版本(8 / 11 / 17 / 21)

我可以直接给你一套 可复制执行的完整命令

0