ubuntu 16.04编译java8源码

准备 jdk7 环境

简述一下 jdk7的存在必要,是因为 jdk8 编译需要安装BootJDK

linux环境

openJdk 7 下载:

ps: jdk7 和jdk8源码下载有很多方式,只要下载下来的方法都可以。

mkdir /home/local
tar -xvf openjdk-7u75
mv openjdk-7u75 /home/local/java7

修改环境变量

vim /etc/profile

文件末尾追加如下:注意修改为自己JDK的路径

export JAVA_HOME=/home/local/java7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

重新加载,生效环境变量

source /etc/profile

至此 jdk 7 安装成功

java -version

从输出可以看出 jdk 7 安装成功

jdk8编译

准备 open-jdk-8 源码

wget https://download.java.net/openjdk/jdk8u40/ri/openjdk-8u40-src-b25-10_feb_2015.zip
unzip openjdk-8u40.zip

安装依赖

sudo apt install 
        libx11-dev 
        libxext-dev 
        libxrender-dev 
        libxtst-dev 
        libxt-dev 
        libcups2-dev 
        libfreetype6-dev 
        libasound2-dev 
        libfontconfig1-dev
apt-get install zip

apt-get install ccache  # 如果没装ccache 需要补装

上述的依赖是 本机需要的依赖。

依赖检查

在源码根路径下执行如下命令,检查是否还缺少其他的依赖

bash ./configure

如果缺少其他依赖,可以直接 用命令补装即可

apt-get install [package]

依赖检查完成,如下图

Make 版本增加支持

执行编译

make all

如果不增加版本支持,会导致编译失败。

vim /hotspot/make/linux

编译

make all

成功如下

参考来自

经验分享 程序员 微信小程序 职场和发展