文章40 | 阅读 14788 | 点赞0
本来想在windows环境下编译openjdk15,奈何windows非常麻烦,各种依赖需要一个一个找还找不齐,linux上只需要使用命令安装依赖即可,因此选择了ubuntu作为环境。
首先需要有一台Ubuntu主机,我这里使用Vmware安装一台Ubuntu虚拟机
Ubuntu桌面版镜像下载地址:
https://ubuntu.com/download/desktop 到下载页面下载好桌面版的ubuntu即可
创建完成我们进入主题
编译的是jdk15,所以下载jdk15的。下面的百度分享连接我提供了多个版本,里面还有源码包
链接: https://pan.baidu.com/s/1OvxsofpbnDp3ihZgq6N1kg 提取码: kxm6
oracle官网下载jdk(所有版本)的地址:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
选择javaSE15就可以了下载linux版本tar.gz的压缩包
openjdk12源码包zip文件csdn站内下载
openjdk15源码包zip文件csdn站内下载
将下载好的jdk-15_linux-x64_bin.tar.gz
包和jdk15source.zip
源码包复制进入ubuntu的文件夹中
例如:我解压的路径是/home/angel/Public下,随便放一个文件夹就行了,不强制要求一致。
都解压后我们开始编译源码
环境是:Ubuntu20.04.1 可能会自带一些依赖先执行后面的命令安装依赖,如果环境不同,可以根据提示安装对应依赖即可
执行下面这条命令安装对应的依赖:下面的依赖是我根据再后面一条命令一个一个得到的,然后写成一条命令一次性安装省得后面麻烦。
sudo apt install -y make build-essential libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev libcups2-dev libfontconfig1-dev libasound2-dev
执行完后
进入源码包这个位置,下面的configure文件是检查依赖的环节
通过下面这条命令检测依赖,需要加上执行权限sudo chmod +x ./configure
下面–with-boot-jdk的值则是前面下载好的jdk15解压后的主目录bin的父目录
--with-boot-jdk的由来
设置–with-boot-jdk这是因为OpenJDK由多个部分(HotSpot、JDK类库、JAXWS、JAXP……)构成,其中一 部分(HotSpot)代码使用C、C++编写,而更多的代码则是使用Java语言来实现,因此编译这些Java代 码就需要用到另一个编译期可用的JDK,官方称这个JDK为“Bootstrap JDK”。
./configure --with-boot-jdk=/home/angel/Public/jdk15
我的jdk15目录如下,这个路径对应上面的–with-boot-jdk等号右边的值
执行./configure --with-boot-jdk=对应jdk15目录
后如果正常则会如下提示
得到上面提示后我们输入下面命令进行编译
make
然后等待编译完成,这个时间比较久一点,需要耐心等待
最终我们找一下这个编译后的openjdk
oracle提供的二进制包比较少了一个文件夹legal(法律),以及下面的modules对应 jdk15 的 jmods
成功后我们进行验证,进入编译好的bin目录,右键在此打开终端
输入java -version
查看信息
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://yumbo.blog.csdn.net/article/details/110658608
内容来源于网络,如有侵权,请联系作者删除!