首页 > 其他 > 详细

编译自己的jdk(使用openJDK源码编译jdk )

时间:2019-12-20 16:45:33      阅读:116      评论:0      收藏:0      [点我收藏+]

找到openjdk网站(http://hg.openjdk.java.net/) 选择需要编译的版本,浏览readme文件,有获取源码及编译步骤

CentOS-7-x86_64-DVD-1804.iso

  • vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • 设置ONBOOT=yes
  • 重启网络服务systemctl restart network

源代码及Bootstrap JDK准备

Bootstrap JDK移至/usr/local/java

    cd /usr/local/java
    tar -xzvf jdk-8u40-linux-x64.gz 
    yum install mercurial
    hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/
    cd jdk8u-dev
    sh ./get_source.sh

环境准备

bash ./configure
根据提示yum install 安装所有缺少的依赖
直至运行bash ./configure出现下面

    A new configuration has been successfully created in
    /usr/local/java/jdk8u-dev/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:       openjdk version "1.8.0_232" OpenJDK Runtime Environment (build 1.8.0_232-b09) OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)  (at /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.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:   974 MB

编译

    make all
    ----- Build times -------
    Start 2019-11-20 14:30:45
    End   2019-11-20 15:20:07
    00:00:37 corba
    00:00:42 demos
    00:06:47 docs
    00:14:52 hotspot
    00:01:36 images
    00:00:24 jaxp
    00:00:32 jaxws
    00:22:51 jdk
    00:00:44 langtools
    00:00:16 nashorn
    00:49:22 TOTAL
    -------------------------
    Finished building OpenJDK for target 'all'

使用

  • 进入image文件夹
    cd build/linux-x86_64-normal-server-release/images/j2sdk-image/bin
  • 查看此java版本
    [root@localhost bin]# ./java -version
    openjdk version "1.8.0-internal"
    OpenJDK Runtime Environment (build 1.8.0-internal-root_2019_11_20_14_27-b00)
    OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)

之后这个整个 j2sdk-image 文件夹就可以被拷贝到任何地方,并配置环境变量使用

    export JAVA_HOME=/usr/用户名/java/OpenJDK_1.8.0
    export CLASSPATH=./:$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH

之后source .bash_profile使环境变量生效,用java -version查看结果

编译自己的jdk(使用openJDK源码编译jdk )

原文:https://www.cnblogs.com/lantuanqing/p/12028058.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!