CentOS 7编译jdk7
环境
cat system-release
CentOS Linux release 7.3.1611 (Core)
依赖资源安装
安装alsa包
yum install alsa-lib-devel
安装cups-devel
yum install cups-devel
安装X相关的库
yum install libX*
安装g++
yum install gcc gcc-c++
安装freetype
yum install freetype-devel
安装libstdc
yum install libstdc++-static
安装ant
tar -zxvf apache-ant-1.8.2-bin.tar.gz
安装openjdk
http://download.java.net/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip
解压openjdk-7u75-b13-linux-x64-18_dec_2014.tar.gz
安装Ant
unzip openjdk-7u6-fcs-src-b24-28_aug_2012.zip
安装jdk
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
jdk-7u4-linux-x64.tar
配置环境变量
vi /etc/profile
在最下面输入
#set Java enviroment export JAVA_HOME=/usr/local/src/jdk1.7.0_04 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/src/apache-ant-1.8.2/lib/ant-launcher.jar #set Ant enviroment ANT_HOME=/usr/local/src/apache-ant-1.8.2
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$CLASSPATH:$JRE_HOME/bin:$PATH |
更新配置文件
source /etc/profile
编译检查
进入解压后的openjdk目录下执行命令:./build.sh
export LANG=C export ALT_BOOTDIR=/usr/local/src/jdk1.7.0_04 export ALT_JDK_IMPORT_PATH=/usr/local/src/jdk1.7.0_04 export ALLOW_DOWNLOADS=true export HOTSPOT_BUILD_JOBS=4 export ALT_PARALLEL_COMPILE_JOBS=4 export SKIP_COMPARE_IMAGES=true export USE_PRECOMPILED_HEADER=true export BUILD_LANGTOOLS=true #export BUILD_JAXP=false export BUILD_JAXWS=false #export BUILD_CORBA=false export BUILD_HOTSPOT=true export BUILD_JDK=true export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok export SKIP_DEBUG_BUILD=false export SKIP_FASTDEBUG_BUILD=true export DEBUG_NAME=debug BUILD_DEPLOY=false BUILD_INSTALL=false export ALT_OUTPUTDIR=/usr/local/src/openjdk/build unset JAVA_HOME unset CLASSPATH make sanity |
若输出结果为:Sanity check passed,表示检查通过
修改CurrencyData.properties
路径为openjdk目录下jdk/src/share/classes/java/util/CurrencyData.properties文件,将此文件中所有的时间改为10年以内即可
执行编译
进入解压后的openjdk目录下执行命令:./build.sh
export LANG=C export ALT_BOOTDIR=/usr/local/src/jdk1.7.0_04 export ALT_JDK_IMPORT_PATH=/usr/local/src/jdk1.7.0_04 export ALLOW_DOWNLOADS=true export HOTSPOT_BUILD_JOBS=4 export ALT_PARALLEL_COMPILE_JOBS=4 export SKIP_COMPARE_IMAGES=true export USE_PRECOMPILED_HEADER=true export BUILD_LANGTOOLS=true #export BUILD_JAXP=false export BUILD_JAXWS=false #export BUILD_CORBA=false export BUILD_HOTSPOT=true export BUILD_JDK=true export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok export SKIP_DEBUG_BUILD=false export SKIP_FASTDEBUG_BUILD=true export DEBUG_NAME=debug BUILD_DEPLOY=false BUILD_INSTALL=false export ALT_OUTPUTDIR=/usr/local/src/openjdk/build unset JAVA_HOME unset CLASSPATH make sanity
make sanity && make 2>&1 | tee $ALT_OUTPUTDIR/build.log |
出现这样即为成功
配置环境变量
修改JAVA_HOME 为
export JAVA_HOME=/usr/local/src/openjdk/build/j2sdk-image
更新配置文件
source /etc/profile
最终效果