天天看点

OpenJDK8源码编译(Ubuntu 16.04)一、下载二、编译

一、下载

下载步骤参考的官网,内容如下:

Source code

The jdk8u-dev forest for ongoing development can be cloned using this command: 

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh

 .

The corresponding master forest jdk8u can be cloned using this command: 

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh

 .

In addition, the source code for the last release, 8u172, is available by cloning the 8u master forest : http://hg.openjdk.java.net/jdk8u/jdk8u and using the 'jdk8u172-b11' mercurial tag.

 这里使用了一个类似于git的版本控制工具Mercurial,Ubuntu安装只需要使用如下命令:

sudo apt-get install Mercurial
           

安装完毕后,选择一个目录在终端内输入以下命令:

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u
           

该命令会把主目录clone下来,然后进入文件夹,输入:

sh get_source.sh
           

然后等待下载完毕,网络上很多人说这里下载很慢,但是笔者感觉还行,最多十几分钟的样子。

完成的文件夹如下所示(关注打钩的文件夹即可):

OpenJDK8源码编译(Ubuntu 16.04)一、下载二、编译

二、编译

编译之前需要配置一个称作BOOT_JDK的东西,其版本要比编译的版本低一级,即编译OpenJDK8,就需要安装JDK7作为环境(OpenJDK7或OracleJDK7均可),这里略去JDK7的安装。

JDK7安装完成后,在OpenJDK8源码根目录下执行命令:

#--with-boot-jdk后就是你的JDK7安装目录
sudo bash configure --with-boot-jdk=/home/iceberg/1Program/jdk1.7.0_80
           

中间会遇到各种库缺失的问题,不过在最后几行都会有提示你执行什么命令来安装的,照做即可

PS:这里有一个坑,有个提示是这样的

configure: error: Could not find all X11 headers

sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev

注意这里的x应该是小写的!

然后等待配置完成就行了

OpenJDK8源码编译(Ubuntu 16.04)一、下载二、编译

配置完成后再输入命令:

sudo  make
           

就完事儿了

版权声明:本文为CSDN博主「weixin_34199335」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_34199335/article/details/92457126