Ubuntu环境下手动编译OpenJDK1.6源码

在看了深入理解Java虚拟机这本书的第一章之后,其中有一小节讲了手动编译JDK的相关内容,于是按照作者的方法亲自试了一下。百看不如一试,在亲自尝试的过程中,发现了很多的问题,所以把它整理了下来。

1、编译环境

首先介绍下我编译所使用到的环境,我是在win7上使用vm player 开的虚拟机,Linux版本为Ubuntu 12.04.3 LTS。因为Open JDK的很多代码由java自身实现的,所以需要先装一个JDK,官方称之为'Bootstrap JDK',我此次使用的JDK版本为jdk-6u45,OPEN JDK6的源码我是直接从网上下载后直接上传到ubuntu中,这个方法速度比较快。可以去以下链接下载,这个版本修复了JDK过期问题,以及使用1.7编译会出现test_gamma未找到的问题。通过该链接可以下载,我把它放在CSDN的下载里了,http://download.csdn.net/detail/morven_qiu/9634591

2、依赖安装

在编译JDK过程中,需要很多的依赖。所有的依赖使用以下命令一次性安装完成。

sudo apt-get install openjdk-6-jdk gawk build-essential ant libasound2-dev libfreetype6-dev libcups2-dev libx11-dev libxtst-dev libxt-dev libxrender-dev zip 

3、解压相关包

由于我上传到ubuntu系统的都是压缩包,所以先要解压一下,目录我都是放在用户的home下。首先解压Open JDK源码,使用7z命令 ,例如7z x openjdk.7z,如果7z命令没安装,则先安装7z命令.(apt-get install p7zip-full)。然后安装jdk1.6,先赋予执行权限,例如sudo chmod +x jdk-6u45-linux-x64.bin,然后执行./jdk-6u45-linux-x64.bin。

4、编译

先写一个简单脚本,如下图所示,我是放在open jdk的目录下,里面只列出了编译时必要的几个变量,书中还提到了其他可供选择的变量,可以自行选择设置。

然后运行此脚本,如果提示"Sanity check passed",说明检查设置通过了,然后修改脚本最后一行,把‘’sanity‘’去掉进行全编译。如果检查未通过,则根据提示进行相关变量或者依赖的设置。

如果编译顺利的话,大约半小时之后出现如下图所示信息,说明编译成功了。




此时你可以进入/home/bigbang/openjdk/build/linux-amd64/j2sdk-image/bin$目录,输入java -version,会出现带有机器名的java版本信息,如下图所示。



参考文章:《深入理解Java虚拟机》第二版






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值