zoukankan      html  css  js  c++  java
  • Centos7编译openjdk8源码

    Centos7编译openjdk8源码

     

    转载补充:

    https://www.jianshu.com/p/c0fa5f987ea0

    openjdk源码地址:

    http://hg.openjdk.java.net/jdk8/jdk8/file/1773f1fd0fac

     

    说明

    编译openjdk前提是你要先有一套jdk环境,依靠这套环境启动你的jdk的编译(我安装的是jdk6)。

     

    安装依赖的启动jdk环境

     

    jre

    > sudo yum install java-1.8.0-openjdk

    jdk

    > sudo yum install java-1.8.0-openjdk-devel
    
    > java -version
    openjdk version "1.8.0_191"
    OpenJDK Runtime Environment (build 1.8.0_191-b12)
    OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
    [root@izuf6ea4rfo45y44oj74jhz /]# javac -version
    javac 1.8.0_191

    编译openjdk

     

    下载openjdk

    hg是下载openjdk源码的工具

    > yum install hg
    
    > hg clone http://hg.openjdk.java.net/jdk8u/jdk8u openjdk8
    
    > cd openjdk8
    
    > sh get_source.sh  # 这个过程比较慢,不可急躁,下载过程很可能下载不全,多下几次即可

    完整的目录需要有作者圈出来的模块

     

     

    安装编译所需依赖插件

    > yum install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make

    如果还缺少,在执行下一步configure操作时会提示,到时候安装在执行configure操作即可

    > chmod +x configure  # 可执行权限
    > ./configure --enable-debug # 比较漫长

    下图为成功的结果:

    # 编译
    > make

    编译成功如下:

    进入openjdk8/build目录下,创建:

    # 编写HelloWorld.java测试
    
    public class HelloWorld {
    
            public static void main(String[] args) {
                    System.out.println("HelloWorld openJDK");
            }
    }
    # 使用直接安装的jdk环境测试(我安装的是jdk6)
    > javac HelloWorld.java
    > java HelloWorld
    HelloWorld openJDK
    
    # 移除HelloWorld.class  (接下来,准备用我们自己编译的jdk测试)
    > rm -rf HelloWorld.class
    # 使用我们自己编译的openjdk测试,进入openjdk/build目录下
    
    # 1、先编译,会生成HelloWorld.class文件
    > ./linux-x86_64-normal-server-fastdebug/jdk/bin/javac HelloWorld.java       
    # 2、执行
    > ./linux-x86_64-normal-server-fastdebug/jdk/bin/java HelloWorld
    HelloWorld openJDK
    
    # 成功

     

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    判断ImageIcon创建成功
    Node中的explorer views的双击事件
    Oracle数据类型
    Sql三种行转列
    数据库迁移
    并发采集同一站点被封的解决方案
    .net获取版本号的三种方法
    List转DataSet
    Orcale自增长主键
    python学习笔记数字和表达式
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/13462731.html
Copyright © 2011-2022 走看看