编译OpenJDK8U 在CentOS7.2
目录
系统信息
用命令pt-summary(此命令可参考博客 percona-toolkit 工具的安装安装)去查看系统的详细信息
卸载系统自带的JDK
检查自带JDK的版本和安装信息
- 1 输入 java -version 输出系统JDK 版本信息。
- 2 输入 rpm -qa | grep java 查看JDK 安装包。
- 3 通过 rpm -e --nodeps 后面跟系统自带的jdk名:
- rpm -e --nodeps java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
- rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.272.b10-1.el7_9.x86_64
- rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
- rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
- rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
- rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.272.b10-1.el7_9.x86_64
安装JDK7
- 下载并上传jdk7 Linux安装包到系统/usr/local 目录下。
- 1 解压Jdk7 taz package:tar zxf jdk-7u80-linux-x64.tar.gz
- 2 创建软连接目录java: ln -s jdk1.7.0_80 java
- 3 配置Java环境变量到/etc/profile。
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
- 4 用source /etc/profile 命令将环境变量生效。
- 检查Java7 安装是否正常。
编译OpenJDK8u
- 安装Mercurial
- 配置好yum repo 并用yum install hg 安装Mercuial
- 1 Clone Jdk8u repo 到本地目录下
- 2 在Clone 完成后,进入该目录下,用脚本get_source.sh获得Jdk8U的所有源代码
- 3 在编译之前,先安装编译所依赖的相关package。
- 4 设置下列环境变量并使其生效
export LANG=C
#export ALT_BOOTDIR=/usr/local/jdk1.7.0_80
#export ALT_OUTPUTDIR=/root/openjdk8u/jdk8u-output/build
#export ANT_HOME=/usr/bin/ant
export ALLOW_DOWNLOADS=true
export ARCH_DATA_MODEL=64
export HOTSPOT_BUILD_JOB=4
#export ALT_PARALLEL_COMPILE_JOBS=4
export USE_PRECOMPILED_HEADER=true
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
export BUILD_LANGTOOLS=true
export BUILD_HOTSPOT=true
export BUILD_JDK=true
unset JAVA_HOME
unset CLASSPATH
- 5 构建编译 配置信息: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 。编译配置后会生成a.out 和build目录。
- 6 执行编译 make all
- 7 检查编译后的Java version
- 8 将配置后的Jdk 目录替换old的java目录,并更新相关得环境变量即可。