zoukankan      html  css  js  c++  java
  • CentOS编译openjdk

    编译openjdk

    1. 下载openjdk源码

    openjdk的官网是OpenJDK (java.net)

    在网站左侧就能看到它的源码位置的链接

    从图上可以看到,它的源码在两个位置有托管,Mercurial、GitHub这两个网站都有。我们点击GitHub,进去到它GitHub的位置。

    上图第一个就是openjdk的仓库地址了 。

    选择HTTPS,复制地址。

    下一步,登录码云(没账号的可以先创建一个),在边上有个+的图标,点开就可以看到二级菜单有个从GitHub/GitLab导入仓库

    上面Git仓库URL,填入从GitHub复制的地址,https://github.com/openjdk/jdk.git ,仓库名字可以自己写一个。完了之后点击导入,就可以将openjdk的源码导入到码云上来,导入后和GitHub就都是一样的。

    选择导入GitHub仓库的话,可以关联自己的GitHub账号,把自己GitHub的仓库也导入过来。

    最后,我们就可以从码云上下载openjdk的源码了,再也不是龟速了。我本地下载6MB/s,不到1分钟就下载完成了。

    我本次选的是jdk-11+25这个分支。

    我本地下载下来的是openjdk-jdk-11+25.zip

    2. 环境准备

    1. 需要一个linux(windows也可以,不过好像比较麻烦,我没试过。我本次是用Linux)环境。我是虚拟机安装的CentOS7。具体的版本号如下图

    1. 根据阿里云设置下软件镜像源。centos镜像-centos下载地址-centos安装教程-阿里巴巴开源镜像站 (aliyun.com)

    2. 在环境中安装jdk并设置环境变量(不用卸载系统自带的JDK,直接可以使用压缩版的jdk解压后,设置相关的环境变量就可以)。

       vim ~/.bashrc
      
      #在~/.bashrc中添加下面java环境变量
      JAVA_HOME=/root/openjdk/jdk-11.0.10   #java目录
      CLASSPATH=$JAVA_HOME/lib
      PATH=$JAVA_HOME/bin:$PATH
      export PATH JAVA_HOME CLASSPATH
      
      
      source  ~/.bashrc   #使环境变量生效
      

      jdk的版本不能小于要编译的jdk版本-1,这个在编译指导中有写,具体自己看吧。

    我本次使用的是jdk11,具体的版本号是如下图。

    4.将下载的openjdk的源码的压缩包(我本次的压缩包是openjdk-jdk-11+25.zip)上传到CentOS7服务器上,后续所有的工作就都在CentOS7上执行了。


    到这里,所有的准备工作就完成了,下一步就开始编译openjdk了。

    3. 编译openjdk

    1. 首先在shell中输入java -version,确实当前默认的java就是我们自己安装的。

    2. 解压上传的openjdk源码压缩包。

      yum install zip unzip  #安装解压缩软件
      unzip openjdk-jdk-11+25.zip   #解压openjdk源码包
      
    3. 源码包中有个README,打开可以看到编译的帮助文档是在doc目录下的building文件。上面2.3中的需要的jdk的版本也是在这个building的帮助文档里。

    1. 编译openjdk使用make来完成的,所以需要先安装make(很多服务器都是自带make的,如果自带了,那就不用再安装了.)。

      yum install make  #安装make,我本次用的CentOS就自带了
      
    2. 下一步就是根据building中的指导来编译了。

      bash ./configure --help 这个命令可以来查看各种编译选项。

      bash ./configure --with-debug-level=slowdebug  --with-target-bits=64 
      make
      

      我本次就是使用上面两行命令来编译的。


      编译过程中需要的软件也不必提前安装,安装过程中如果发现缺软件,会有提示。如下图,根据提示安装相关软件就可以了。

      下面就是我本地实际安装的软件了。都是根据错误提示安装的。

      sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel
      sudo yum install cups-devel
      sudo yum install fontconfig-devel
      sudo yum install alsa-lib-devel
      

    ​ configuration成功的话,会有如下图

    ​ make成功的话会有如下图

    1. 如果编译成功,会在build/linux-x86_64-normal-server-slowdebug/jdk这个目录下生成我们编译的openjdk。

      执行如下命令,验证我们的编译结果。

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


    到这里,整个openjdk的编译就结束了。

  • 相关阅读:
    教你一步一步做无线点餐项目(登录篇)
    用Android中的ActionBar来实现分页Title栏滑块效果
    IIS处理brower的一个页面请求(www.test.com/SX?a=1)的处理流程
    [转载]物化视图——数据仓库手册
    [WEB系统中的设计模式(暂时放在这里,看不大懂)]mvc在web系统中的模式与应用
    ORACLE的分布式管理
    C#中 中 A==B && C==D ? E: F语法的一点问题
    delete 和 truncate
    prototype.js开发者手册
    【一个不错的oracle数据库诊断例子,值得学习一下】Oracle数据库诊断案例redo log日志组处于高激活状态
  • 原文地址:https://www.cnblogs.com/wbo112/p/15613227.html
Copyright © 2011-2022 走看看