[Java-JVM]Centos7编译openjdk7

编译环境:

openjdk版本:openjdk7(openjdk-7u75-src-b13-18_dec_2014.zip)

操作系统:Centos7(CentOS-7-x86_64-DVD-1708.iso)

用来oepnjdk编译的jdk(bookstrap jdk):jdk6(jdk-6u45-linux-x64.bin)

完善编译环境:

安装如下内容

yum install alsa-lib-devel
yum install cups-devel
yum install libX*
yum install gcc gcc-c++
yum install ant 
yum install libstdc++-static

然后需要将openjdk/jdk/src/share/classes/java/util/CurrencyData.properties文件中的如下内容的时间,改为距今10年以内的时间

AZ=AZM;2005-12-31-20-00-00;AZN

MZ=MZM;2006-06-30-22-00-00;MZN

RO=ROL;2005-06-30-21-00-00;RON

TR=TRL;2004-12-31-22-00-00;TRY

VE=VEB;2008-01-01-04-00-00;VEF

编译过程:

将openjdk的源码包解压

unzip openjdk-7u75-src-b13-18_dec_2014.zip

在openjdk目录下创建build.sh文件

#!/bin/bash 
export LANG=C 
export ALT_BOOTDIR=/usr/local/java/jdk1.6.0_45 

#允许自动下载依赖包 
export ALLOW_DOWNLOADS=true 

export HOTSPOT_BUILD_JOBS=6
export ALT_PARALLEL_COMPILE_JOBS=6

export SKIP_COMPARE_IMAGES=true

#使用预编译头文件,以提升便以速度 
export USE_PRECOMPILED_HEADER=true 

#要编译的内容 
export BUILD_LANGTOOLS=true 
#export BUILD_JAXP=true 
#export BUILD_JAXWS=true 
#export BUILD_CORBA=true 
export BUILD_HOSTPOT=true 
export BUILD_JDK=true

 #要编译的版本 
export SKIP_DEBUG_BUILD=false 
export SKIP_FASTDEBUG_BUILD=true 
export DEBUG_NAME=debug 

#避免javaws和浏览器Java插件等的build 
BUILD_DEPLOY=false 

#不build安装包
BUILD_INSTALL=false 

#设置存放编译结果的目录 
export ALT_OUTPUTDIR=/usr/local/openjdk/target 

unset CLASSPATH 
unset JAVA_HOME 

make sanity 
make 2>&1 | tee $ALT_OUTPUTDIR/build.log

然后

sh build.sh

编译,成功的结果如下

注:以上取自周志明大大的《深入理解Java虚拟机》

原文地址:https://www.cnblogs.com/jiasq/p/8688312.html