[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虚拟机》