美文网首页
尝试编译openjdk1.8

尝试编译openjdk1.8

作者: overflow_e4e4 | 来源:发表于2019-12-02 17:24 被阅读0次

网上几乎都建议在linux环境下进行操作,所以刚好利用了前段时间买的阿里云ECS。
编译openjdk首先需要一份源码,为此需要下一个软件去拉取代码,这个mercurial和git类似就是用来拉代码的。
根据centos5.X通过yum安装mercurial这篇文章快速安装一个mercurial,然后用这个mercurial拉下openjdk代码,依次执行如下命令:

hg clone https://hg.openjdk.java.net/jdk8u/jdk8u openjdk 
cd openjdk
chmod u+x get_source.sh
./get_source.sh

之中最后执行get_source.sh的目的是

jdk8u/jdk8u 是一个“代码森林”(forest),底下有很多个repo。这些repo在默认的Mercurial管理下是没有关联的。get_source.sh是用来把下面的repo都下载下来的脚本。后面要更新整个forest里所有repo的时候也可以用这个脚本,它会自动对各repo做hg pull -u。

编译openjdk除了需要一份 源码还需要一个已经安装的jdk

另外,还需要准备一个6u14以上版本的JDK,因为OpenJDK的各个组成部分有的使用C++编写的,更多的代码则是使用Java自身实现的,因此编译这些Java代码需要用到一个可用的JDK,官方称这个JDK为“Bootstrap JDK”

然后根据此文下载各种编译所需的依赖包centos7 编译 openjdk8

然后执行configure脚本

bash ./configure --enable-debug --with-boot-jdk=/usr/java/jdk-13.0.1

因为我本来装的是最新版的jdk13,但是实操下来确实不行,因为指定的Bootstrap JDK最好是上一个版本的jdk,所以我准备安装一个jdk7。
安装好了之后再次尝试:

bash ./configure --with-boot-jdk=/usr/java/jdk1.7.0_80/ --with-target-bits=64 --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0 

之后就很顺利的打印了如下信息


生成编译配置

到这里生成一个编译的配置。
然后就可以开始正式编译

make all
开始编译
如其他文章所说确实要耗费30min左右时间。
结束编译
最后验证编译好的jdk是否可用,切换到目录build/linux-x86_64-normal-server-slowdebug/jdk/bin,运行./java -version
验证是否可用
显示版本号1.8 ,编译成功了。

做这样一次尝试的原因是之前看到有一位大神在查bug的时候直接修改了openjdk的一部分代码并编译了修改后的jdk用做调试,觉得在一些场合真的会用到,所以先摸清门路,防止下次踩坑。

相关文章

  • 尝试编译openjdk1.8

    网上几乎都建议在linux环境下进行操作,所以刚好利用了前段时间买的阿里云ECS。编译openjdk首先需要一份源...

  • godot自定义安卓插件开发记录

    一定要用开源的openjdk1.8速度快 aar插件也用openjdk1.8编译 插件名称和aar名称统一为插件类名

  • Centos7 安装JDK1.8详细过程

    前言 在CentOS7上安装OpenJDK1.8 & OracleJDK1.8 一、OpenJDK1.8 详细步骤...

  • 银河麒麟V10系统安装JDK、ES、kibana、Activem

    下载地址 openjdk1.8:https://www.oracle.com/java/technologies/...

  • 编译尝试优化

    优化前 1.查看时长 https://mp.weixin.qq.com/s/-wgBhE11xEXDS7Hqgq3...

  • apktool b 回编译error: No resource

    尝试回编译qq时出现如下错误: 改用-r参数:反编译时不解包资源,再回编译即可解决: 反编译: 成功回编译: 签名...

  • marktext 编译

    marktext 编译过程 编译尝试 编译发布的release版本失败。 克隆代码失败 获取最新的开发版本失败 开...

  • iOS 编译 lame

    网上找了许多编译lame的教程,结果都是编译失败,多次尝试后发现是编译脚本放错路径了,记录下编译的过程,把编译脚本...

  • 单机版spark搭建

    一. 安装JDK,可参考:Linux(CentOs7)安装OpenJDK1.8。 二. 安装spark。 说明:安...

  • 服务器环境配置

    删除原有的OracleJdk1.7 安装openJdk1.8 安装redis 安装rabbitMQ 解决YUM U...

网友评论

      本文标题:尝试编译openjdk1.8

      本文链接:https://www.haomeiwen.com/subject/nctfgctx.html