2019独角兽企业重金招聘Python工程师标准>>>

根据《深入理解Java虚拟机》一书,编译java虚拟机源码

系统环境:centos7

编译jdk版本:jdk7u-dev

本地java环境:jdk-7u40

ant版本为:1.8.2

1.安装相关依赖

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

ant手动安装

wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.8.2-bin.tar.gz

tar zxvf apache-ant-1.8.2-bin.tar.gz

ln -s /work/install/apache-ant-1.8.2/bin/ant /usr/bin/ant (应该是这步很重要)

本地java环境:jdk-7u40

下载地址:https://download.oracle.com/otn/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz

OpenJdk7源码获取:

yum install mercurial

hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-dev

2.修改环境变量

vi /ect/profile

3.编写构建OpenJdk7脚本

[root@dev openjdk]# vi build.sh

export LANG=C
export ALT_BOOTDIR=/work/install/jdk1.7
export ALT_JDK_IMPORT_PATH=/work/install/jdk1.7
export ALLOW_DOWNLOADS=true
export HOTSPOT_BUILD_JOBS=1
export ANT_HOME=/work/install/apache-ant-1.8.2
export ANT_VERSION=1.8.2
export ALT_PARALLEL_COMPILE_JOBS=1
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
export BUILD_JAXWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
BUILD_DEPLOY=false
BUILD_INSTALL=false
export ALT_OUTPUTDIR=/work/install/jdk1.7_build
unset JAVA_HOME
unset CLASSPATH
unset LD_LIBRARY_PATH
make sanity

make sanity && make 2>&1 | tee $ALT_OUTPUTDIR/build.log

4.最终经历千辛万苦OpenJdk7编译完成

坑1:本地尝试手动安装多个版本的ant,确认指定编译的ant版本无误。还是报下图错误:

坑2:手动安装ant,make sanity验证不通过。网上说通过yum install ant,就ok。但是后续却报找不到Launcher主类错误。强制在环境变量中配置的该类路径仍然,无法生效。一直卡ant编译这个问题上,后续看到别人编译要建立ant软件,才最终解决该问题!!!ln -s /work/install/apache-ant-1.8.2/bin/ant /usr/bin/ant

找不到或无法加载主类 org.apache.tools.ant.launch.Launcher

坑3 使用centos 的ant版本1.7.1会报如下错误

转载于:https://my.oschina.net/u/1017791/blog/3022488

OpenJdk7编译相关推荐

  1. linux下编译openjdk7,Ubuntu 14.04.3 64位环境下OpenJDK7编译

    系统环境:Ubuntu 14.04.3 -amd64 in VMWare 1.安装openjdk7依赖 sudo apt-get build-dep openjdk-7 sudo apt-get in ...

  2. Ubuntu 18.04安装openJDK7编译安卓6.0.0_r1

    最近在使用AOSP编译安卓6.0.0_r1源码,自己的机器是Ubuntu18.04 TLS,试了网上所有安装openjdk7的教程发现没有一个可以使用的,实属无奈只能自己动手解决这个问题完成了编译,教 ...

  3. 深入理解JVM原理之编译openjdk7

    2019独角兽企业重金招聘Python工程师标准>>> Java虚拟机种类很多例如:HotSpot 丶 JRockit 丶 J9等 我们一般用的就是HotSpot,如果我们电脑上装了 ...

  4. 【JDK编译】Centos7编译OpenJDK7

    前段时间自己在linux下编译了一次openJDK,编译过程遇到很多问题,下次把编译过程和遇到的问题记录下来. 1.安装编译所使用的库 yum list build-essential gawk m4 ...

  5. Linux 下编译自己的 OpenJDK7 包括JVM和JDK API

    1.首先去 这里 http://download.java.net/openjdk/jdk7/ 下载OpenJDK7的源码zip包 2. 简要介绍下OpenJDK7中的目录 hotspot: 放有Op ...

  6. JVM源码—教你傻瓜式编译openjdk7

    LZ经过一个星期断断续续的研究,终于成功的搞定了JDK的成功编译与调试.尽管网络上的教程也有不少,包括源码中也有自带的编译步骤说明,但真正自己动手的话,还是会遇到不少意料之外的错误. 为了方便各位猿友 ...

  7. JVM源码---教你傻瓜式编译openjdk7(JAVA虚拟机爱好者必看)

    LZ经过一个星期断断续续的研究,终于成功的搞定了JDK的成功编译与调试.尽管网络上的教程也有不少,包括源码中也有自带的编译步骤说明,但真正自己动手的话,还是会遇到不少意料之外的错误. 为了方便各位猿友 ...

  8. Ubuntu16.04下搭建开发环境及编译tiny4412 Android系统【转】

    本文转载自:http://blog.csdn.net/songze_lee/article/details/72808631 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.安装ssh服务器 ...

  9. 转-OpenJDK源码阅读导航跟编译

    OpenJDK源码阅读导航 OpenJDK源码阅读导航 博客分类: Virtual Machine HotSpot VM Java OpenJDK openjdk 这是链接帖.主体内容都在各链接中.  ...

最新文章

  1. 暗渡陈仓:用低消耗设备进行破解和渗透测试1.2.2 渗透测试工具集
  2. Filemanager 的使用
  3. python string库_《python标准库》--string
  4. 汇编语言--转移指令的原理
  5. mysql中varchar与integer的互转
  6. Bootstrap使用-1
  7. 深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库
  8. php 输出 继续执行,使用PHP中的实时输出运行进程
  9. C语言,椰果数量问题,计算最少的椰果数
  10. 建模师分类:选择游戏还是工业?哪个发展前景更好?
  11. 1009 C语言 SUM problem
  12. 蓝桥杯 ADV-149 算法提高 特殊的质数肋骨
  13. Sublime Text 3中SublimeLinter的使用
  14. 卷积运算和运算后特征图大小计算2
  15. 修改完out不更新_CyclicBarrier 不就是比 CountDownLatch 多了个回环么?
  16. JAVA文件传输程序
  17. 【模拟器】网工福音!华三模拟器HCL升级,部分功能超越eNSP和EVE!
  18. LCP 03. 机器人大冒险-力扣双百代码
  19. mac uvc相机_Mac相机无法正常工作? 这是解决方法
  20. 阿里云——云数据库RDS

热门文章

  1. 打印二叉搜索树的叶子结点_求孩子兄弟树叶子节点数目
  2. c#sort升序还是降序_c# List的sort排序方法详解
  3. pytorch指定用多张显卡训练_Pytorch中多GPU训练指北
  4. eclipse mybatis插件_Archetype插件的介绍和使用
  5. 学计算机申请书100字,加入学生会申请书100字范文
  6. android app.build文件_网易友品 Android 客户端组件化演进
  7. python自动操作微信_Python+Appium 自动化操作微信入门看这一篇就够了
  8. atm系统的用例模型_战斗系统执行式测试经验汇总
  9. 域查看工具开源_SEO人员,如何为网站开源节流?
  10. 点播同时并发怎么算带宽_如何搭建一个视频点播系统?