前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(1)JVM——在 Ubuntu 上手动编译 OpenJdk12

(1)JVM——在 Ubuntu 上手动编译 OpenJdk12

作者头像
凡人飞
发布2020-09-21 11:23:41
1.2K0
发布2020-09-21 11:23:41
举报
文章被收录于专栏:指缝阳光指缝阳光

一、简述

  1. 介绍:最近开始看《深入理解Java虚拟机第三版》,为了自己以后能方便回忆,以及加深理解,特写文章以记之。本篇博客主要是实现使用在 Ubuntu 系统上自己编译 OpenJdk,在后面的学习中会用到。

二、准备工作

  1. 安装 Ubuntu 操作系统:我是在 windows 系统上使用 VMware 安装了 Ubuntu 18.04.3 LTS 。这个安装就不介绍了,网上能搜到很多文章,此处贴一个博客地址是首次安装后,实现 root 用户登录以及 ssh 访问:解决Ubuntu18.04不能用Xshell使用root用户登录。我的虚拟机配置如下:
Ubuntu 虚拟机配置
Ubuntu 虚拟机配置
  1. 下载 OpenJdk12 源码:可以网上搜索,我就直接贴出我的百度云分享:https://pan.baidu.com/s/1Y12ba3RTzWxt8C9wvNcjPQ 提取码:xk6r
  2. 安装第三方库:编译过程中需要使用 GCC、FreeType、CUPS等,包括编译 OpenJdk 版本的上一个版本(因为源码有些是 Java 代码写的,需要 jdk 来编译),此处是安装 OpenJdk11。具体的安装内容如下

三、进行编译

  1. 上传 OpenJdk12 源码:下载得到的源码是 zip 包,可以通过 Xftp 等工具上传到 Ubuntu 系统上。因为要解压压缩包,因此需要安装 unzip 工具,同时需要安装 zip 工具(如果不安 zip ,在编译检查时会报缺失如下图)
openJDK 编译检查报错缺失 zip
openJDK 编译检查报错缺失 zip

安装命令如下:# 安装 apt-get install zip unzip # 解压文件 unzip xxxxx.zip

  1. 编译检查及配置:进入解压后的源码目录,如下图。
OpenJdk源码目录
OpenJdk源码目录

// 编译FastDebug版,仅含Server模式的HotSpot虚拟机 bash configure --enable-debug --with-jvm-variants=server 如果检查有缺失的项目,会进行提示,并给出解决安装的命令,只需要直接使用就行。我在检查时报了如下的缺失

OpenJdk编译检查缺失项
OpenJdk编译检查缺失项

此时按提示执行命令即可。当执行检查成功时,可以看到下图成功的显示

编译检查成功
编译检查成功
  1. 执行编译:此时我执行的是 “make all” 命令,即编译了 product、docs、test。此处的 make 有好几种选择可以自行查询。特别注意:如果多次编译,或者目录结构成功产生后又再次修改了配置,必须先使用 “make clean” 和 “make dist-clean” 命令清理目录,才能确保新的配置生效。# 编译 make all 该命令执行后大约要等 20 分钟左右,成功后如下图
编译成功
编译成功
  1. 验证:此时进入源码目录下的 build/OpenJdk配置名称/jdk ,可以看到编译完成后的 jdk 结果,此处的内容可以直接复制出来使用,就是一个完整的 jdk。目录如下图:
编译完成的jdk目录
编译完成的jdk目录

进入 bin 目录,执行如下的查看版本命令:./java -version 可以看到我们编译的 OpenJdk 版本信息

编译完成的版本信息
编译完成的版本信息

到此我们手动编译 OpenJdk 就完成了,后面文章将会介绍调试源码。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简述
    • 二、准备工作
      • 三、进行编译
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档