• Centos下编译JDK


    因为OpenJDK是开源的,这里使用openJDK进行编译联系

    环境要求


    • Centos6.7 64位
    • openjdk-7u40-fcs-src-b43-26_aug_2013.zip
    • bootstrap JDK:  jdk1.6.0_38

    因为我们是编译,所以环境的话可以根据自己的实际情况进行调整,JDK的源码包可以去这个网站进行下载https://jdk7.java.net/source.html

    boostrap JDK:辅助JDK,意思是我们要编译一个新的JDK时需要别的JDK来辅助完成,就像点火需要打火机一样。

    编译前的准备


    因为要进行编译所以需要安装相应的编译工具

    • 安装gcc、gcc-c++

      yum install -y gcc gcc-c++

    • 安装cups-devel (unix打印系统)

      yum install -y cups-devel  

    • 安装alsa-lib-devel

      yum install -y alsa-lib-devel

    • 安装X图形库

      yum install -y libXrender libXrender-devel libXi-devel libXt-devel libXtst-devel

    • 安装freetype字体库

      yum install -y freetype freetype-devel

    • 安装bootstrap JDK

        yum install -y java-1.6.0-openjdk java-1.6.0-openjdk-devel

    • 安装ant

      yum install -y ant ant-nodeps

    设置环境变量


     编译JDK时不同通过读取配置文件来看用户做了那些定制,而是用过读取当前shell的环境变量来看设置的。在设置环境变量时可以参考以下脚本

    因为我们是要研究java虚拟机的所以这里开启DEBUG模式

    #!/bin/bash
    
    #clear settings if you have ever setup 
    unset CLASSPAHT
    unset JAVA_HOME
    
    #select language, required 
    export LANG=C
    
    #bootsrap JDK path installed, required
    export ALT_BOOTDIR=/usr/local/jdk1.7.0_79
    
    #setup freetype
    export ALT_FREETYPE_LIB_PATH=/usr/local/lib
    export ALT_FREETYPE_HEADERS_PATH=/usr/local/include
    #setup ant path export ANT_HOME
    =/root/apache-ant-1.9.7 #dowload dependencies automatically export ALLOW_DOWNLOADS=ture #setup number of compiled threads same to cpus export HOTSPOT_BUILD_JOBS=1 export ALT_PARALLEL_COMPILE_JOBS=1 export SKIP_COMPARE_IMAGES=true export USE_PRECOMPILED_HEADER=true #setup what you want to compile export BUILD_LANGTOOLS=true #export BUILD_JAXP=false #export BUILD_JAXWS=false #export BUILD_CORBA=false export BUILD_HOTSPOT=true export BUILD_JDK=true #setup arch=64 if your cpu is 64 or arch=32 export ARCH_DATA_MODEL=64 #setup version #export SKIP_DEBUG_BUILD=false #export SKIP_FASTDEBUG_BUILD=true #export DEBUG_NAME=debug BUILD_DEPLOY=false #cancel build install package BUILD_INSTALL=false #setup output DIR export ALT_OUTPUTDIR=/usr/local/jdk7-dev/build

     注意:在执行脚本时使用source命令执行 source setenv.sh

    编译


    环境检查

    当我们设置好环境变量后如果看我们的设置是否正确

    进入源码的根目录,执行make sanity,如果结果如下则表示环境设置成功

    编译

    在源码的根目录执行make all就可以进行编译了

  • 相关阅读:
    java中&和&&
    java保留字
    最优路径算法合集(附python源码)(原创)
    十大经典排序算法(python实现)(原创)
    电子欠款单设想(原创)
    羽毛球友谊赛规则(附带程序)(原创)
    基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)
    lazy_import源码解析(原创)
    多线程的音频打标记的python实现(原创)
    关于塔防游戏的浅析(原创)
  • 原文地址:https://www.cnblogs.com/xidongyu/p/5722122.html
Copyright © 2020-2023  润新知