ubuntu轻松编译openjdk的方法-亚博电竞手机版

这篇文章主要介绍ubuntu轻松编译openjdk的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

步骤1:(按照《深入理解java虚拟机》中的命令)一键下载依赖

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:

步骤2:下载源码

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

用mercurial下载jdk8u的最新源码。小伙伴如果想下载其它版本的源码可以去这里browse: http://hg.openjdk.java.net/。这个下载过程大约三十分钟。

如果不想用mercurial,也可以在这里下载zip包:http://jdk.java.net/java-se-ri/8 (在网页偏下方ri source code那里):

我在windows上编译是就是用这个zip包解压编译的,最后失败了。出于迷信心理,在ubuntu上我还是决定用mercurial下载,各路大神尽可不必理会。

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

exportlang=c  #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的,但是我又碰到了这个错误……

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

以上是“ubuntu轻松编译openjdk的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡编程网行业资讯频道!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有亚博电竞手机版的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系亚博电竞手机版删除

最新文章

网站地图