Ubuntu 环境编译 OpenJDK11 源码
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
准备工作
Ubuntu 版本是 16.04.5 LTS;
确认 OpenJDK11 源码已经下载到本地,下载方式可以参考文章《Ubuntu环境下载OpenJDK11源码》、《利用Docker极速下载OpenJDK11源码》;
安装 OpenJDK10 作为 boot JDK,安装过程可以参考文章《Ubuntu下安装OpenJDK10》;
重要文件夹的位置
OpenJDK11 源码解压后是个名为 jdk11 的文件夹,位于此目录下:/home/willzhao/work/compileopenjdk
OpenJDK10 安装完成后,整体上是个名为 jdk-10 的文件夹,位于此目录下:/usr/lib/jvm,因此 boot JDK 的完整目录是/usr/lib/jvm/jdk-10
以上是我这边的文件路径,如果您和我的不一致也没关系,后面注意修改成您自己对应的即可;
正式开始
编译的时候会用到 boot JDK 的 jre 目录下的 lib 库,我们这里只有 JDK 没有 jre,因此需要创建一个 jre 目录,再把 jdk 的 lib 文件夹复制到这个目录下,执行以下命令:
我用的是 root 账号,因此将 OpenJDK11 源码文件夹的所有者和用户组都改成 root 的,在目录/home/willzhao/work/compileopenjdk 执行以下命令:
安装必要的依赖应用:
进入 OpenJDK11 源码的目录 /home/willzhao/work/compileopenjdk/jdk11
配置确认,这一步通过后就可以开始编译了:
以上命令中--with-num-cores=4 表示四核 CPU 参与编译,--with-memory-size=8192 表示 8G 内存参与编译,请您根据自己电脑的实际配置来调整;如果配置不通过会有相关提示,请按照提示内容做调整,步骤 3 中的安装的那些应用其实都是配置检查不通过时提示要安装的;
配置确认通过后,控制台提示信息大致如下:
执行命令 make 即可开始编译,等待编译完成后控制台输出以下类似信息:
打开 jdk11/build/linux-x86_64-normal-server-release 目录下的 build.log 文件可以看到更详细的日志:
在 jdk11/build/linux-x86_64-normal-server-release 目录下,有个 jdk 目录,这里面就是最新构建的 OpenJDK,进入里面的 bin 目录,再执行命令./java -version ,可见最新的版本信息如下,已经是 11 版本了:
至此,基于 OpenJDK11 源码编译构建已经成功,去/etc/profile 文件中做好环境变量设置就能正常使用新的 JDK 了;
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/8435a329958d6016cde4c4b92】。文章转载请联系作者。
评论