温馨提示×

centos旧版怎么编译java

小樊
33
2026-09-15 11:30:11
栏目: 编程语言

CentOS 旧版本(如 CentOS 6 / 7) 上编译 Java(通常指 OpenJDK 或 Oracle JDK 源码),步骤大致如下。下面以 编译 OpenJDK 8 为例(最常见、资料最多)。


一、准备环境(CentOS 旧版)

1. 安装基础编译工具

yum groupinstall "Development Tools" -y
yum install -y \
  java-1.7.0-openjdk-devel \
  libXtst-devel libXrender-devel \
  cups-devel freetype-devel \
  alsa-lib-devel ccache \
  zip unzip

⚠️ 编译 JDK 8 必须用 JDK 7 作为 bootstrap JDK


二、下载 OpenJDK 源码

方式一:Mercurial(官方)

yum install -y mercurial
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u jdk8u
cd jdk8u
sh get_source.sh

方式二:GitHub 镜像(推荐)

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

三、配置编译参数

cd jdk8u
bash configure \
  --with-boot-jdk=/usr/lib/jvm/java-1.7.0-openjdk \
  --with-target-bits=64 \
  --disable-debug-symbols \
  --enable-unlimited-crypto

常见错误检查:

bash configure --help

四、开始编译

make images

编译完成后:

./build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java -version

五、常见问题(CentOS 旧版)

1. gcc 版本太低

CentOS 6 默认 gcc 4.4,可能不支持:

yum install -y devtoolset-2-gcc devtoolset-2-gcc-c++
scl enable devtoolset-2 bash

2. 内存不足

export MAKEFLAGS="-j1"

3. 时间问题(证书过期)

export DATETIME=`date +%Y%m%d`

六、如果你想编译的是“Java 程序”而不是 JDK

那就简单多了:

yum install java-1.8.0-openjdk-devel
javac Hello.java
java Hello

七、总结

需求 方法
编译 Java 程序 javac
编译 OpenJDK 源码 + bootstrap JDK
CentOS 6/7 推荐 OpenJDK 8

如果你能告诉我:

  • CentOS 具体版本(6 / 7 / 8)
  • 想编译 JDK 源码 还是 Java 程序
  • OpenJDK 还是 Oracle JDK

我可以给你 精确命令

0