http://hg.openjdk.java.net/jdk7/jdk7/jdk/
挺不显眼的;左侧有个zip,点一下就会下载下来
2.在CentOS系统上安装
yum -y install gcc gcc-c++ alsa-lib alsa-lib-devel libXrender libXrender-devel libXi-devel libXt-devel libXtst-devel cups cups-devel
3.配置环境变量(vi ~/.bashrc)
unset CLASSPATH
unset JAVA_HOME
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-1.7.0-openjdk
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-1.7.0-openjdk
export ALT_HOTSPOT_IMPORT_PATH=/usr/lib/jvm/java-1.7.0-openjdk
export ALT_HOTSPOT_CLIENT_PATH=/usr/lib/jvm/java-1.7.0-openjdk/jre/lib/amd64/client
export ALT_HOTSPOT_SERVER_PATH=/usr/lib/jvm/java-1.7.0-openjdk/jre/lib/amd64/server
export ANT_HOME=/usr/share/ant
export ALT_FREETYPE_HEADERS_PATH=/usr/include/freetype2
export ALT_FREETYPE_LIB_PATH=/usr/lib64
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=false
export DEBUG_NAME=debug
source ~/.bashrc
4.解压缩文件,cd到make目录
make sanity进行检查
make all进行编译
期间遇到的问题:
1.不识别'-mimpure-text'参数
错误信息:
gcc: error: unrecognized command line option '-mimpure-text'
make[5]: *** [/openjdk/build/linux-amd64/../linux-amd64-debug/lib/amd64/libverify.so] Error 1
解决办法:
gcc版本问题,这个命令在本机所用的4.7.2版的gcc中已经去除,既然不能降低gcc版本(本机ubuntu12.10内核用4.7.2版gcc编译),那
就在 【解压缩目录】/make/common/shared/Compiler-gcc.gmk 中去掉 -mimpure-text 命令
2.time is more than 10 years from present: 1136059200000
通过修改【解压缩目录】/src/share/classes/java/util/CurrencyData.properties文件, 今年是2016年,把小于2006年的都改成2006年之前
3.cannot find -lstdc++
sudo yum install glibc-static libstdc++-static
编译完成后就可以用build下的JDK了。
配置环境变量:
export JAVA_HOME=/home/pijing/software/jdk-9b8c96f96a0f/build/linux-amd64/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
最后大功告成,可以用自己编译的JDK了: