自己手动编译OpenJDK8

  • 2019 年 11 月 27 日
  • 笔记

源码编译

Ubuntu下载

Ubuntu版本:16.04

下载链接:http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso

虚拟软件:VMWare

OpenJDK源码下载

据原文说法,OpenJDK 使用Mercurial进行版本管理。另外一个名叫AdoptOpenJDK project.提供了OpenJDK的镜像,可以让我们用git下载。

站点的官网如下:https://adoptopenjdk.net/about.html

主页上说他们的目标就是:

Provide a reliable source of OpenJDK binaries for all platforms, for the long term future.

据我的使用体验来说,之前编译过一次OpenJDK,各种报错,各种改源码才能编译通过。这次确实编译很顺,代码一句没改。

下载代码(第一次需要安装git)

git clone --depth 1 -b master https://github.com/AdoptOpenJDK/openjdk-jdk8u.git

下载Boot JDK

编译openJDK任然需要使用JDK来编译

这边使用的Oracle的1.7

链接:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

下载完后解压,然后配置环境变量

export JAVA_HOME=/usr/local/jdk1.7.0_80(替换成自己的jdk路径)  export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH

安装依赖

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

配置编译脚本

解压下载需要编译的openJDK,并进入其解压后的路径

build.sh

bash ./configure --with-target-bits=64 --with-boot-jdk=/usr/local/jdk1.7.0_80/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0  make all ZIP_DEBUGINFO_FILES=0

运行build.sh

chmod +x build.sh  ./build.sh

编译成功

切换到指定路径下查看编译后的结果

cd ~/jdk/openjdk-jdk8u/build/linux-x86_64-normal-server-slowdebug/jdk/bin  ./java -version