温馨提示×

CentOS编译Java咋样

小樊
37
2026-07-09 10:32:42
栏目: 编程语言

在 **CentOS 上编译 Java(通常指编译 OpenJDK 或自己的 Java 项目)**是完全可行的,不过要看你具体想做哪一类“编译”。下面分情况说明,并给出实用建议。


一、在 CentOS 上编译 OpenJDK(从源码构建 JDK)

✅ 可行性

完全可行,OpenJDK 官方就支持在 CentOS / RHEL 上编译。

✅ 常见用途

  • 学习 JVM 原理
  • 定制 JDK(裁剪、调试、加补丁)
  • 研究 HotSpot

✅ 推荐环境

  • CentOS 7(稳定,资料多)
  • CentOS Stream 8 / 9(新版本 JDK 支持更好)

⚠️ CentOS 6 已过时,不建议用于编译新版 JDK


✅ 编译 OpenJDK 的基本流程(以 OpenJDK 8 / 11 / 17 为例)

1️⃣ 安装依赖

sudo yum groupinstall "Development Tools"
sudo yum install \
  autoconf automake libtool \
  cups-devel libX11-devel libXext-devel \
  libXrender-devel libXtst-devel libXt-devel \
  freetype-devel fontconfig-devel \
  alsa-lib-devel

不同 JDK 版本依赖略有差异


2️⃣ 安装 Bootstrap JDK

编译 JDK 需要一个 已存在的 JDK(叫 boot JDK):

要编译的版本 boot JDK
JDK 8 JDK 7
JDK 11 JDK 10 / 11
JDK 17 JDK 16 / 17
java -version

3️⃣ 下载源码

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

或指定版本:

git checkout jdk-17+35

4️⃣ 配置

bash configure

常见参数:

bash configure \
  --with-boot-jdk=/usr/lib/jvm/java-17 \
  --with-debug-level=fastdebug

5️⃣ 编译

make images

成品在:

build/linux-x86_64-server-release/images/jdk

✅ 优点

  • 官方支持
  • 适合 JVM 学习
  • 可深度定制

❌ 缺点

  • 依赖多
  • 编译时间长(10–60 分钟)

二、在 CentOS 上编译 Java 项目(Maven / Gradle)

如果你只是想 编译 Java 程序,那非常简单。

✅ 安装 JDK

sudo yum install java-17-openjdk-devel

✅ 编译 Maven 项目

mvn clean package

✅ 编译 Gradle 项目

./gradlew build

这是最常见、最推荐的方式


三、CentOS 编译 Java 的优缺点总结

✅ 优点

  • 稳定、服务器级系统
  • 非常适合 CI / 编译服务器
  • OpenJDK 官方支持

❌ 缺点

  • 老版本 CentOS 软件源旧
  • GUI 支持差(不适合桌面开发)
  • 编译 OpenJDK 对新手不友好

四、建议方案(直接给你结论)

你的目的 建议
学习 JVM / 改 JDK ✅ CentOS + 编译 OpenJDK
普通 Java 开发 ✅ 直接用 yum 装 JDK
生产环境 ✅ CentOS + 官方 OpenJDK
新手 ❌ 不建议直接编译 JDK

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

  • ✅ CentOS 版本(7 / 8 / Stream 9)
  • ✅ 想编译 OpenJDK 还是 普通 Java 项目
  • ✅ JDK 版本(8 / 11 / 17 / 21)

我可以直接给你 一步一步可复制的命令

0