最近在读《深入理解Java虚拟机》,第一章主要就是手动编译一个jdk。本文可能是史上最简编译jdk的方法。很多网上编译jdk的资料极度不靠谱。
编译环境:Ubuntu13.04 64位。
1. 下载openjdk7源代码下载源代码有两种方式。
用Mercurial下载
Mercurial是一个轻量级分布式版本管理工具(类似git)。 安装方法。
然后按照以下命令下载源代码。
hg clone http://hg.openjdk.java.net/jdk7u/jdk7u6 YourOpenJDK cd YourOpenJDK sh ./get_source.sh
直接到官方下载
最好用官方最新的包,以避免各种之前出现的Bug。
2. 下载编译所需要的包sudo aptitude build-dep openjdk-7
sudo aptitude install openjdk-7-jdk
没有aptitude命令,自行安装。
3. 编译进入openjdk的目录,用命令
make sanity 检查是否在build前准备好环境。
编译脚本
建立sh脚本,注意脚本必须拥有可执行权限。编译脚本如下:
export LANG=C export ANT_HOME=/usr/share/ant export ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-amd64 export DEBUG_NAME=debug export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-7-openjdk-amd64 unset JAVA_HOME unset CLASS_PATH make ARCH_DATA_MODEL=64 BUILD_JAXWS=false BUILD_JAXP=false 4. 编译成功经过漫长的编译,成功后会出现如下信息。
在build目录下,有一个编译好的jdk。
5. 一些有用的资料 真爱生命,远离百度。(完)