修改jdk 第一步: 仓库以及构建(jdk17)

1.从openJdk官方github 的 仓库fork一份本人仓库是(fork的GitHub - openjdk/jdk17u: https://wiki.openjdk.org/display/JDKUpdates/JDK+17u · GitHub

https://github.com/liukeling/jdk17u

2.boot JDK (构建jdk源码需要一个初始的jdk环境 好像要对应的,编译17的源码需要17的bootJDK)

https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz

3.虚拟机环境准备(我使用的是centos 7)

把需要构建的jdk源码以及 bootJDK上传到 /usr/local 并解压

如图,我的源码是jdk17u.zip bootJdk 是OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz

解压后,bootJdk 需要移动到boot-jdk17 文件夹下 (/usr/local/boot-jdk17)

不是boot-jdk17文件夹 其他文件夹构建时候他会找不到!!!

配置boot-jdk17环境 export JAVA_HOME 和 PATH (省略)

4.环境

1.yum 源 CentOS-Base.repo 和 CentOS-SCLo.repo

我的base.repo是阿里的,

SCLo.repo

sclo-sclo

name=CentOS-7 - SCLo sclo

baseurl=https://vault.centos.org/centos/7/sclo/x86_64/sclo/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

enabled=1

sclo-rh

name=CentOS-7 - SCLo rh

baseurl=https://vault.centos.org/centos/7/sclo/x86_64/rh/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

enabled=1

2.安装 相关包

yum install -y gcc gcc-c++ make autoconf automake libtool libstdc++-devel libstdc++-static zlib-devel libpng-devel libjpeg-devel alsa-lib-devel cups-devel libX11-devel libXtst-devel libXt-devel libXrender-devel libXi-devel freetype-devel fontconfig-devel

gcc -v版本低,临时激活编译环境!!!!(make会报错)

scl enable devtoolset-8 bash

5.编译

进入源码目录先configure

bash configure

然后 make JOBS=4 等很久很久。。。。loooooooooong time ago...... (可以选择去掉部分模块不编译没去试了。)

6.编译好后的jdk在目录下的build下面

运行bin/java 正常出命令行(后续能不能用,能不能配置环境跑啥的没试)

相关推荐
咩咩啃树皮8 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
灯澜忆梦8 小时前
GO_并发编程---定时器
开发语言·后端·golang
鱟鲥鳚8 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
-银雾鸢尾-9 小时前
C#中的StringBuilder相关方法
开发语言·c#
-银雾鸢尾-9 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白10 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司11 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地12 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun31415912 小时前
TCP超时重传机制是为了解决什么问题?
java
段一凡-华北理工大学12 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化