欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 通常情况下,编译OpenJDK11源码构建新的JDK需要以下步骤: 下载OpenJDK11源码; 按自己需求
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
-
通常情况下,编译OpenJDK11源码构建新的JDK需要以下步骤:
- 下载OpenJDK11源码;
- 按自己需求修改OpenJDK11源码;
- 准备编译环境;
- 编译构建新的JDK;
-
现在利用Docker,可以将步骤简化如下:
- 执行一行命令,完成OpenJDK11源码下载;
- 按自己需求修改OpenJDK11源码,这一步省不掉;
- 执行一行命令,将修改后的OpenJDK11源码构建为新的JDK;
- 可见除了自己修改OpenJDK源码这一步因人而异无法省略,其余步骤已经被大大简化,接下来就一起体验一下吧;
实战环境
实战步骤
-
今天实战的内容如下:
- 用一行命令,通过Docker把OpenJDK11源码下载到本地;
- 按照自己的需求修改OpenJDK11源码;
- 用一行命令,通过DockerDocker编译构建OpenJDK11源码,生成新的JDK;
- 验证新的JDK;
- 接下来开始实战吧;
准备工作
- 在当前电脑准备一个空目录,例如我这里是 /usr/local/work/openjdksrc ,请确保该目录已经存在,且里面什么都没有;
下载OpenJDK11源码
- 执行以下命令即可完成OpenJDK11源码下载:
- 注意:
- 命令中的/usr/local/work/openjdksrc就是之前新建的空文件夹;
- 由于源码包自身体积较大,因此下载镜像是比较耗时的,请您耐心等待;
- 命令执行成功后,/usr/local/work/openjdksrc下面会出现一个名为jdk11文件夹,这里面就是OpenJDK11的源码;
修改OpenJDK11源码
- 接下来是您根据自己的需要去修改OpenJDK源码,举个例子,我修改的文件位于以下位置:
- 打开此文件,找到方法print(boolean err, boolean newln),该方法位于文件的尾部,在此方法的最后面添加一行代码,如下图红框所示,新增代码的作用是让"java -version"命令多打印一行内容:
编译OpenJDK11源码
- 执行以下命令即可完成OpenJDK11源码编译和构建:
- 编译构建的速度和电脑硬件有关,构建完成后,打开文件jdk11/build/linux-x86_64-normal-server-release/build.log,在文件尾部可以看到如下信息:
验证新的JDK
- 进入目录jdk11/build/linux-x86_64-normal-server-release/jdk/bin;
- 执行命令./java -version,可以看到下图信息,红框中就是我们修改的效果:
- 至此,OpenJDK11源码的下载、修改、编译就这么完成了,是不是很简单呢?如果您有兴趣了解如何做到这么简单的操作,请关注以下两篇文章,它们分别揭示了如何制作下载源码的镜像和编译源码的镜像:
- 《制作Docker镜像,用来下载OpenJDK11源码》
- 《制作Docker镜像,用来编译OpenJDK11源码》
欢迎关注51CTO博客:程序员欣宸
学习路上,你不孤单,欣宸原创一路相伴...