1. 为什么要编译openjdk的code?
因为从Eclipse调试JDK的代码时,方法中的局部变量不能显示,这样是因为编译JDK时,没有编译成debug版本。
2. RHEL5中自带的开发者JDK已经是debug版本了,所以可以直接使用。
例如:java-1.6.0-openjdk-devel-1.6.0.0-1.24.1.10.4.el5
3.
在Eclipse中如何使用其它版本的JDK,首先在preference中将编译好的JDK路径添加进去,然后修改工程中的JDK依赖关系,重新编译工程,debug到
JDK中,这时JDK代码中的局部变量就可以查看了
这里的方法是从 http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-
builds.html 来的。
下面开始具体的步骤:
1. 安装setuptools
install setuptools in windows/linux
1.1. download https://bitbucket.org/pypa/setuptools/raw/0.7.4/ez_setup.py
1.2. run it with python
2. 安装Mercurial
install Mercurial in linux:
2.1 easy_install -U mercurial
3. 下载openjdk的source
download open jdk 7 source
3.1 hg clone http://hg.openjdk.java.net/jdk7/jdk7 YourOpenJDK
3.2 cd YourOpenJDK
3.3 sh ./get_source.sh
4. 安装Ant和freetype
install ant 1.7
install freetype 2.3
4.1 从apache的网站上下载ant的zip包,解压到任意目录
4.2 从sourceforge上下载2.3版本的freetype的source包
使用下面的命令安装:
./configure && make && sudo -u root make install
5.设置环境变量
5.1 LANG和BOOTDIR
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
5.2 Ant
export ANT_HOME=/tmp/ant/apache-ant-1.7.1
export PATH=/tmp/ant/apache-ant-1.7.1/bin:$PATH
5.3 Freetype(这里是默认的安装路径)
export ALT_FREETYPE_HEADERS_PATH=/usr/local/include/
export ALT_FREETYPE_LIB_PATH=/usr/local/lib/
6. 检查一切完好
gmake sanity ARCH_DATA_MODEL=64
7. 编译
gmake
#make debug version
gmake ALLOW_DOWNLOADS=true fastdebug_build
gmake ALLOW_DOWNLOADS=true debug_build