本文小编为大家详细介绍“Ubuntu怎么编译openJDK”,内容详细,步骤清晰,细节处理妥当,希望这篇“Ubuntu怎么编译openJDK”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

步骤1:一键下载依赖

sudoapt-getinstallbuild-essentialgawkm4libasound2-devlibcups2-devlibxrender-devxorg-devxutils-devx11proto-print-devbinutilslibmotif3libmotif-devant

openjdk的源代码有c++也有java,所以需要一个bootstrap jdk去编译java的部分。这个jdk通常是比你要编译的openjdk早一个版本的官方jdk,这是官方的readme-builds(在第二步中下载下来的源码根目录下)说的:

...the general rule is that the bootstrap jdk must be an instance of the previous major release of the jdk.

每一个版本的readme-builds中都会指明这一版的openjdk需要的bootstrap jdk具体版本,比如openjdk8需要的是jdk7u7以上的版本,但不能是jdk8:

Ubuntu怎么编译openJDK

步骤2:下载源码

sudohgclonehttp://hg.openjdk.java.net/jdk8u/jdk8u-dev/
cdjdk8u-dev
chmod755get_source.sh
./get_source.sh

用mercurial下载jdk8u的最新源码。

步骤3:设置环境变量新建一个setup.sh,把以下的内容拷贝进去:

export

#bootstrap-jdk的安装路径,替换为自己bootstrap-jdk的路径

exportalt_bootdir=/usr/lib/jvm/java-7-oracle-1.7.0.80

exportallow_downloads=true

exporthotspot_build_jobs=8

exportskip_compare_images=true

#要编译的内容,读者可以根据需要自行选择

exportbuild_langtools=true

#exportbuild_jaxws=false

#exportbuild_jaxp=false

#exportbuild_corba=false

exportbuild_hotspot=true

exportbuild_jdk=true

exportskip_compare_images=true

build_deploy=false

build_install=false

#编译结果存放的路径,建议存放在openjdk源码中build文件夹

exportalt_outputdir=/usr/dev/jvm/openjdk/build

#这两个环境变量需要去掉,不然会出问题

unsetjava_home

unsetclasspath

运行

./setup.sh

设置一遍就好。

步骤4:进行编译

到下好的openjdk源码的根目录下运行make,大概需要二三十分钟。本来是应该运行make sanity的,但是我又碰到了这个错误……

Ubuntu怎么编译openJDK

妈哟什么鬼,搜了一会无甚结果,于是鸡贼的跳过了这一步直接运行make,竟然成功了,成功后的输出长这样:

Ubuntu怎么编译openJDK

读到这里,这篇“Ubuntu怎么编译openJDK”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

推荐阅读:centOS 6.5编译openJDK及问题

点赞(88) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部