Ununtu14.04编译Jdk1.7

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bandaotixiruiqiang/article/details/79209126

Ununtu14.04编译Jdk1.7

编译环境

x86_64的Ubuntu14.04
Linux bandaoti-VirtualBox 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

所需资源

编译前需要先下载jdk,因为有部分java需要编译,我下载的是jdk6。当然jdk7的源码是必须下载的,在resource文件夹下。
[百度云盘JDK资源]

安装所需插件

sudo apt-get install -y build-essential gawk m4 \
libasound2-dev libcups2-dev libxrender-dev \
xorg-dev xutils-dev x11proto-print-dev binutils \
libmotif3 libmotif-dev

编译脚本(build.sh)

!/bin/bash
#设置语言
export LANG=C
export ALT_BOOTDIR=~/jdk1.6
#允许自动下载依赖包
export ALLOW_DOWNLOADS=true
#使用预编译头文件,不加这个编译会更慢
export USE_PRECOMPILED_HEADER=true
#要编译的内容
export BUILD_LANGTOOLS=true
export BUILD_JAXP=true
export BUILD_JAXWS=true
export BUILD_CORBA=true
export BUILD_HOSTPOT=true
export BUILD_JDK=true
#要编译的版本
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
#把它设置为FALSE可以避免javaws和浏览器Java插件之类的部分build
BUILD_DEPLOY=false
#把它设置为false就不会build出安装包。因为安装包里有一些奇怪的依赖
#但即便不build出它也已经得到完整的JDK镜像,所以还是不用build它
BUILD_INSTALL=false
#存放编译结果
export ALT_OUTPUTDIR=~/jdk7/build
unset CLASSPATH
unset JAVA_HOME
make 2>&1 | tee $ALT_OUTPUTDIR/build.log

配置编译环境

  • 卸载原有jdk版本
    sudo apt-get autoremove openjdk*
  • 配置Jdk1.6
    将jdk6复制到‘’目录,解压jdk
    ./jdk-6u45-linux-x64.bin
    mv jdk1.6.0_45 jdk1.6

    ln -s ~/jdk1.6/bin/java /usr/bin/java
    安装ant
    sudo apt-get install ant
  • 修改源码时间
    修改CurrencyData.properties(路径:jdk/src/share/classes/java/util/CurrencyData.properties)
    修改108行
    AZ=AZM;2017-12-31-20-00-00;AZN
    修改381行
    MZ=MZM;2017-06-30-22-00-00;MZN
    修改443行
    RO=ROL;2017-06-30-21-00-00;RON
    修改535行
    TR=TRL;2017-12-31-22-00-00;TRY
    修改561行
    VE=VEB;2017-01-01-04-00-00;VEF
  • 执行编译
    这个过程可能需要很长时间(我执行了大概一个小时)
    sh build.sh

测试

执行
~/jdk7/build/bin/java -version
输出结果
openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-bandaoti_2018_01_30_16_46-b00)
OpenJDK 64-Bit Server VM (build 24.75-b04-jvmg, mixed mode)

* 由于查询的页面太多,不宜整理参考的文档,见谅!*

猜你喜欢

转载自blog.csdn.net/bandaotixiruiqiang/article/details/79209126