Centos7编译openjdk7

准备环境:

操作系统: CentOS7 64位

openjdk、jdk、ant资源下载

链接:http://pan.baidu.com/s/1o7NzZKm 密码:c8sw

依赖资源安装

  1. 安装alsa包 
    yum install alsa-lib-devel
  2. 安装cups-devel 
    yum install cups-devel
  3. 安装X相关的库 
    yum install libX*
  4. 安装g++ 
    yum install gcc gcc-c++
  5. 安装freetype 
    yum install freetype-devel
  6. 安装libstdc
    yum install libstdc++-static
  7. 安装ant 
    unzip apache-ant-1.8.2-bin.zip
  8. 设置环境变量

    unset CLASSPATH
    unset JAVA_HOME
    // 语言选项,必须设置
    export LANG=C
    // Bootstrap JDK的安装路径,必须设置
    export ALT_BOOTDIR=/opt/jdk1.7.0_60
    // Ant的安装路径
    export ANT_HOME=/opt/compile/apache-ant-1.8.2
    // 允许自动下载依赖
    export ALLOW_DOWNLOADS=true
    // 预编译
    export USE_PRECOMPILED_HEADER=true
    // 64位jdk
    export ARCH_DATA_MODEL=64
    // 并行编译的线程数,设置为和CPU内核数量一致即可
    export HOTSPOT_BUILD_JOB=4
    export ALT_PARALLEL_COMPILE_JOBS=4
    // 编译内容
    export SKIP_DEBUG_BUILD=false
    export SKIP_FASTDEBUG_BUILD=true
    export DEBUG_NAME=debug
    // 输出路径
    export ALT_OUTPUTDIR=/opt/compile/build-jdk
  9. 解压openjdk-7u40-fcs-src-b43-26_aug_2013.zip
    unzip openjdk-7u40-fcs-src-b43-26_aug_2013.zip
  10. 编译检查 
    进入解压后的openjdk目录下执行命令:make sanity 
    若输出结果为:Sanity check passed,表示检查通过
  11. 执行编译 
    执行命令:make,执行结束后如下,显示每个模块的编译所用时长:
  12. #-- Build times ----------
    Target debug_build
    Start 2016-09-05 08:01:45
    End   2016-09-05 08:38:17
    00:03:31 corba
    00:09:33 hotspot
    00:00:36 jaxp
    00:00:45 jaxws
    00:20:55 jdk
    00:01:12 langtools
    00:36:32 TOTAL
    -------------------------
  13. 配置debug版jdk 
    /opt/compile/build-jdk-debug/j2sdk-image下内容为debug版jdk,将其复制到%JAVA_HOME%下,替换Oracle JDK。
  14. 查看jdk版本信息 
    [[email protected] ~]# java -version 

    openjdk version "1.7.0-internal-debug"
    OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2016_09_05_07_41-b00)
    OpenJDK 64-Bit Server VM (build 24.0-b56-jvmg, mixed mode)

问题 Error: time is more than 10 years from present: 1120165200000

Error: time is more than 10 years from present: 1120165200000
java.lang.RuntimeException: time is more than 10 years from present: 1120165200000
    at build.tools.generatecurrencydata.GenerateCurrencyData.makeSpecialCaseEntry(GenerateCurrencyData.java:285)
    at build.tools.generatecurrencydata.GenerateCurrencyData.buildMainAndSpecialCaseTables(GenerateCurrencyData.java:225)
    at build.tools.generatecurrencydata.GenerateCurrencyData.main(GenerateCurrencyData.java:154)
make[5]: *** [/root/openjdk/build/../build-debug/lib/currency.data] Error 1
make[5]: Leaving directory `/root/Downloads/openjdk/jdk/make/java/java‘
make[4]: *** [all] Error 1
make[4]: Leaving directory `/root/Downloads/openjdk/jdk/make/java‘
make[3]: *** [all] Error 1
make[3]: Leaving directory `/root/Downloads/openjdk/jdk/make‘
make[2]: *** [jdk-build] Error 2
make[2]: Leaving directory `/root/Downloads/openjdk‘
make[1]: *** [generic_debug_build] Error 2
make[1]: Leaving directory `/root/Downloads/openjdk‘
make: *** [build_debug_image] Error 2

解决方法:报错的位置是openjdk目录下jdk/src/share/classes/java/util/CurrencyData.properties文件,将此文件中所有的时间改为10年以内即可

时间: 2024-10-25 02:00:13

Centos7编译openjdk7的相关文章

在linux下编译openjdk7

最近刚开始看<深入理解JAVA虚拟机>这本书.第一章的实践是自己手动编译openjdk7,但书上的步骤都是基于windows的,于是在网上搜了一下linux下编译openjdk的资料: http://blog.csdn.net/kindazrael/article/details/7266314 http://guoh.org/lifelog/2011/05/compile-openjdk-by-yourself/ 这辆篇文章都说的比较详细.其实,最好的文档是openjdk源码包中的READM

CentOS7 编译安装LNMP

LNMP(Linux-Nginx-Mysql-PHP),本文在CentOS7.0上编译LNMP尝尝鲜,全文基本上都是采用手动编译部署...依赖yum帮我安装了GCC和automake..写这个东西耗时有点久了...尼玛 太花时间啦,Linux运维交流群:344177552 主要软件版本: nginx-1.6.0php-5.3.5mysql-5.5.6 yum源配置(其实没什么改动) [[email protected] ~]# cat /etc/yum.repos.d/1.repo [1]nam

centos7编译安装mysql5.7.20版本

centos7编译安装mysql5.7.20版本 遇到问题: 之前想在线上搭建mysql5.7.20版本找了很多文档都觉得写得不怎么完善,很多需要注意的错误点都提及,所以只好自己写一篇了!个人觉得最主要注意的是mysql的data目录一定不能漏了权限问题,还有的经常遇到mysql.sock文件的错误就是因为编译的时候指定的目录要小心,然后启动前在my.cnf文件里面定义一下问题就解决了.这是我写的时候遇到最多的问题. 一.进入mysql官网下载(www.mysql.org)mysql源安装包:

centos7编译libiconv报错:./stdio.h:1010:1: error: &#39;gets&#39; undeclared here (not in a function)

如题:配置编译参数通过,在进行 make 的时候报如下错误: In file included from progname.c:26:0: ./stdio.h:1010:1: error: 'gets' undeclared here (not in a function) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ^ make[2]: *** [progname.o] Error 1

centos7编译安装的php7怎么卸载 解决cenos 编译安装软件后怎么卸载问题

之前有个疑问  编译安装的软件 不是yum 安装 怎么卸载 遇到个问题, centos7编译安装的php7怎么卸载 解决: 关于卸载如果没有配置--prefix选项,源码包也没有提供make uninstall,则可以通过以下方式可以完整卸载: 一个临时目录重新安装一遍,如: ./configure --prefix=/tmp/to_remove && make install1然后遍历/tmp/to_remove的文件,删除对应安装位置的文件即可(因为/tmp/to_remove里的目录

CentOS7编译安装httpd-2.4.41 php7.3

CentOS7编译安装httpd-2.4.41 php7.3 安装参考环境: CentOS Linux release 7.5.1804 (Core) 一.安装依赖包 httpd安装的依赖包 # yum -y install pcre-devel # yum -y install openssl-devel # yum -y groupinstall "Development Tools" arp-util安装的依赖包 # yum install expat-devel 二.编译安装a

基于Centos7编译spark指定Hadoop版本

基于Centos7编译spark指定Hadoop版本 0 摘要 主要探究了如何对spark源码进行编译,以及普及了一下Maven中的-P,-D的意义以及我在编译过程中遇到的两个坑.为什么需要编译spark源码呢?官网已经提供了预编译的版本了啊,但是如果你对spark源码进行了修改或者spark提供了相对应的hadoop版本不能满足要求,本人编译是因为需要CDH版本的spark,综上所述,最佳实践是对spark源码进行编译. 1 编译前准备 本次选择的版本是spark2.2.0,需要准备spark

开发人员学Linux(6):CentOS7编译安装MySQL5.17.8多实例及主从复制

1.前言上一篇讲述了如何在CentOS7下编译安装Nginx-1.12.0并如何配置反向代理,本篇将讲述如何编译安装MySQL5.7.18并配置多实例.2.准备2.1下载MySQL5.7.18源码注意最新版本的MySQL需要Boost才能编译安装,在MySQL提供的下载中有不带boost的源码,还有带boost的源码,如果下载不带boost的源码还需要再去下载boost源码,为省事起见,建议下载带boost的源码,下载地址:https://cdn.mysql.com//Downloads/MyS

centos7 编译php56

编译安装php5.6 centos7环境 步骤: //下载php5.6 wget http://cn2.php.net/distributions/php-5.6.26.tar.bz2 //安装依赖 yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib z