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

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

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

二、编译

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

扫描二维码关注公众号,回复: 110717 查看本文章

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应该是小写的!

然后等待配置完成就行了

配置完成后再输入命令:

sudo  make

就完事儿了

猜你喜欢

转载自my.oschina.net/icebergxty/blog/1806986