操作系统:Ubuntu 18.04.1 LTS 编译JDK版本:OpenJDK12
前往官网自行下载 http://jdk.java.net/java-se-ri/12 进入页面后点击zip file下载对应源码压缩包 解压到任意目录
sudo apt-get install build-essential 验证安装:gcc –version,出现版本号说明验证成功
sudo apt-get install openjdk-11-jdk 假设要编译大版本号为N(这里是12)的JDK,我们还要另外准备一个大版本号至少为N-1的、已经编译好的JDK,这是因为OpenJDK由多个部分(HotSpot、JDK类库、JAXWS、JAXP……)构成,其中一部分(HotSpot)代码使用C、C++编写,而更多的代码则是使用Java语言来实现,因此编译这些Java代码就需要用到另一个编译期可用的JDK,官方称这个JDK为“Bootstrap JDK”。编译OpenJDK 12时,Bootstrap JDK必须使用JDK 11及之后的版本。
进入jdk源码根目录执行命令:bash configure configure命令承担了依赖项检查、参数配置和构建输出目录结构等多项职责,如果编译过程中需要的工具链或者依赖项有缺失,命令执行后将会得到明确的提示,并且给出该依赖的安装命令,我们只需根据提示再安装对应依赖即可。
执行命令:make all 使用4核8G配置全量编译整个OpenJDK 12大概需近15分钟时间。 出现finished building代表编译完成,此时在“build/配置名称/jdk“目录下就可以看到完整的编译结果。
进入jdk目录执行:./java -version
