Ubuntu 编译jdk源码

一 下载需要的依赖文件

sudo apt-get install libfreetype6-dev
sudo apt-get install libcups2-dev
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev
sudo apt-get install libasound2-dev
sudo apt-get install libffi-dev
sudo apt-get install autoconf
apt-get install -y autoconf zip libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfontconfig1-dev libasound2-dev

二 下载需要编译的jdk源码

​ 比如我想要编译jdk16的源码,源码的GitHub链接,通过git clone到本地,本文中所有的jdk均为openjdk

三 下载上一个版本可用jdk

​ 如果想要编译jdk版本为n的源码,一般需要下载版本为n-1的可运行的jdk,这里我下载的是jdk15作为boot jdk,下载openjdk15我尝试了两种方式。

  • 使用sudo apt install openjdk-15-jdk

​ 这种方式很容易但不推荐,运行后系统自动安装好了jdk15并且配置好了环境变量,输入java -version也是能看到响应信息为jdk15的,缺点就是我找不到jdk15在哪配置的环境变量,比如说我后面想把自己编译好的jdk16作为默认jdk(即输入java -version显示的是jdk16版本),我在/etc/profile文件中修改了JAVA_HOME和path并source后,输入java -version依然是jdk15的版本

  • 使用下载的jdk15压缩包并配置环境变量

    1. 到官网上下载jdk15压缩包(链接:http://jdk.java.net/java-se-ri/15)
    2. 解压缩jdk15(tar -zxvf 压缩文件名)
    3. 配置环境变量(修改/etc/profile 文件),添加

    export JAVA_HOME=/usr/lib/jvm/jdk-15 export CLASSPATH=$JAVA_HOME/lib export PATH=:$PATH:$JAVA_HOME/bin

    ​ JAVA_HOME右边的需要修改成自己的jdk15所在的路径

    1. source /etc/profile

四 编译jdk源码

  1. 进入jdk16的主目录,运行

bash configure --with-debug-level=slowdebug --disable-warnings-as-errors

​ 这里的slowdebug是为了更好的看源码设置的

  1. 安装bear sudo apt install -y bear
  2. 最后bear make images慢慢等待编译过程了
  3. 如果需要使用clion对jdk16源码调试参考博客(https://blog.csdn.net/qq_25117137/article/details/118122978)

Ubuntu 编译jdk源码相关推荐

  1. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  2. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决 参考文章: (1)Ubuntu12.04编译Android ...

  3. 写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  4. 都2039年了,还不会编译JDK源码?这篇文章该看看了~~

    文章目录 一.概述 二.环境准备 2.1 boot JDK 2.2 编译机器及依赖 三.JDK源码下载 四.编译过程 4.1 上传并解压源码 4.2 configure 4.3.make all 五. ...

  5. ubuntu编译mysql源码

    一.下载源码 首先去MySQL官网下载源代码mysql-boost-5.7.34.tar.gz 二.在docker中部署ubuntu 启动容器 docker run --name ubuntu-mys ...

  6. ubuntu 编译 CPython 源码

    CPython 是 Python 的一个官方实现, 其他实现有 PyPy, Cython 和 Jython 获取 CPython 源码 git clone --branch 3.9 https://g ...

  7. 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值

    最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u9 ...

  8. 跟踪调试JDK源码时遇到的问题及解决方法

    目录 问题描述 解决思路 在IntelliJ IDEA中调试JDK源码 在eclipse中调试JDK源码 总结 问题描述 最近在研究MyBatis的缓存机制,需要回顾一下HashMap的实现原理.于是 ...

  9. Java虚拟机(JVM源码):编译OpenJDK源码

    为什么要自己编译JDK源码 作为一个搞技术的同学,如果想在技术这条路上走下去,还是多研究些本质性的东西,修炼下内功.尤其是现在JDK都出到10了,如果你没有研究过,还是停留在之前的时代,那么确实说不过 ...

最新文章

  1. MySQL 的备份和恢复机制 MyISAM 和 Innodb
  2. sh变量特性(3)默认特性
  3. 15-mysql-进阶九-联合查询
  4. CentOS 7添加开机启动服务/脚本
  5. (四十九)java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案
  6. flowable activiti 回退 驳回_驳回复审中图文组合商标与图形商标不近似性如何论述?...
  7. ElasticSearch 全文检索实战
  8. JQuery canvas 验证码
  9. centos6.5 mysql忘记登入密码
  10. CentOS/Ubuntu 14.10 安装 phpstorm
  11. 【Sublime Text 3】编译环境
  12. php的慢查询,慢查询是什么
  13. java+widthstep,OpenCV 中结构体IplImage 成员width,widthStep使用注意事项
  14. 魔兽世界服务端linux,LightsHope/vMangos – 基于Ubuntu服务器的WOW私服搭建教程
  15. 打开游戏时提示计算机缺失文件,计算机提示缺少DLL文件
  16. Windows XP SP3版本美化成Vista界面详解
  17. Mysql 主从间延迟,主从切换策略
  18. 来看看今日的软件分享
  19. 表单域修饰符numebr、trim、lazy
  20. 30个计算机相关的英语词汇,计算机应用常用英语词汇30

热门文章

  1. [笔记]通信与信号系统篇 通信原理、计算机网络、DSP基础知识
  2. AI机器人源码,电话机器人源码和系统部署运行环境freeswitch
  3. javascript 比较两个json数据是否相等
  4. 数据集中度分析(不排序)
  5. 用接口实现计算每个立方体的体积并输出结果的程序(接口及多态性及匿名方法的结合使用)
  6. 两种技能增长曲线:对数增长曲线(先快后慢)和指数增长曲线(先慢后快)
  7. 公网安备 域名公安网线上备案流程 网安备案 ICP备案
  8. html制作字符批量替换工具,字符批量替换工具
  9. fabu gewewew
  10. 杭州2w的应届生补贴如何领