JDK 8源码编译
JDK 8源码编译
安装Mercurial
安装Mercurial:https://www.mercurial-scm.org/downloads
以centos7安装为例:
下载rpm包:
wget https://www.mercurial-scm.org/release/centos7/mercurial-6.2.3-1.x86_64.rpm
yum install -y mercurial-6.2.3-1.x86_64.rpm
源码下载
hg clone https://hg.openjdk.java.net/jdk8u/jdk8u
cd jdk8u
chmod a+x get_source.sh
./get_source.sh
得到
配置编译环境
安装openjdk7
yum install java-1.7.0-openjdk-devel
执行configure
./configure
在执行上述命令时,可以看到缺少什么依赖以及提示安装的组件,直接进行安装即可。上述命令执行完之后得到:
====================================================
A new configuration has been successfully created in
/data/jdk8u/build/linux-x86_64-normal-server-release
using default settings.
Configuration summary:
* Debug level: release
* JDK variant: normal
* JVM variants: server
* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
Tools summary:
* Boot JDK: java version "1.7.0_261" OpenJDK Runtime Environment (rhel-2.6.22.2.el7_8-x86_64 u261-b02) OpenJDK 64-Bit Server VM (build 24.261-b02, mixed mode) (at /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64)
* Toolchain: gcc (GNU Compiler Collection)
* C Compiler: Version 4.8.5 (at /usr/bin/gcc)
* C++ Compiler: Version 4.8.5 (at /usr/bin/g++)
Build performance summary:
* Cores to use: 1
* Memory limit: 1837 MB
安装依赖
sudo yum install make unzip zip -y
sudo yum groupinstall "Development Tools" -y
sudo yum install libXtst-devel libXt-devel libXrender-devel -y
sudo yum install cups-devel -y
sudo yum install freetype-devel -y
sudo yum install alsa-lib-devel -y
sudo yum install fontconfig-devel -y
执行编译
make all
编译完成之后,得到输出
执行本地安装
make install
得到
查看java版本
/usr/local/jvm/openjdk-1.8.0-internal/bin/java -version
Powered by Waline v2.14.1