在Windows系统上进行openjdk的源码编译
一、准备编译需要的装备
1.首先下载一个软件Cygwin。这个软件是一个在Windows平台下模拟Linux运行环境的软件,提供了一系列的Linux的运行命令。(解释这些,有兴趣的自己百度)
下载的路径点击Cygwin下载
2.在安装软件,安装软件时不能选择默认安装,因编译时用到很多工具,在默认安装时不会安装。
安装教程点击Cygwin安装,里面的安装很详细,一边看一边安装也会学习东西。
在我推荐的这个安装教程里的第八步,我在详细的解释一两处,在New的一例中的有Default和Skip。Default是系统安装时默认选择的包,Skip是你需要自己安装的包,后面的下拉箭头内是你需要的版本,选中后才能在Src?这一列中进行选中操作。
在这里选择的越多,下载包的时间也越长。
注意,推荐的安装教程里,不需要进行二、三、四大步的安装,只需要到点击完成后即可。这时候就可以应用。
3.在安装编译器。因为JDK中的核心代码是使用C++和C语言编写,所以在使用工具编译的时候选择这两种语言开发时的软件工具--Microsoft Visual Studio C++。(我选择最新的版本,自行破解)
注意,当Cygwin和Visual Studio C++都安装完成后,都会在系统变量里增加配置。要保证Visual Studio C++的系统变量中bin目录在Cygwin的前面,这样Visual Studio C++才能对OpenJDK进行编译。
4.需要在有一个编译好的JDK和下载一个Apache ANT(版本1.6.5以上)。这个jdk不是咱们需要编译的openjdk,而是另外需要下载的,因为jdk里面的源码大部分还是Java,所以需要另外在弄一个。选用Apache ANT是因为源码中的部分代码使用ANT脚本进行编译。
二、准备替代的依赖项
1. 为什么需要装备依赖项呢?
因为openjdk中的源代码与实际的jdk中源代码相比还是有一定的差距,要弥补这部分差距,就需要单独下载这部分的代码,这个代码官方称为“JDK Plug”。下载后是一个jar包,通过Java的运行命令java -jar 包名,进行安装,选择同意即可。
2.增加一个环境变量配置,如果只是运行HotSpot虚拟机则不用安装。环境变量为“ALT_JDK_IMPORT_PATH”,内容指向编译准备中的JDK安装目录。
3.这一步增加字体渲染库FreeType,可以暂时不用安装。
感谢周老师的《深入理解Java虚拟机》,知识面又增加了。