Centos6.5编译openjdk7
来源:互联网 发布:软件类注册商标 编辑:程序博客网 时间:2024/05/29 19:19
一、环境准备
1、Centos6.5:VMware上面安装Centos6.5,可以联网用来下载,需要注意内存最好要大于1G,我设置的为2G,之前设置的512M内存,编译源码时出现各种问题;
2、apache-ant-1.7.1-bin.zip :下载地址:http://archive.apache.org/dist/ant/binaries/,或者https://pan.baidu.com/s/1kUYa1bp,解压安装路径为:/usr/java/apache-ant-1.7.1;
3、jdk-6u26-linux-x64.bin :下载路径安装路径为https://pan.baidu.com/s/1eSpfHHC,安装路径: /usr/java/jdk1.6.0_45;
4、openjdk源码: http://download.java.net/openjdk/jdk7u40/promoted/b43/openjdk-7u40-fcs-src-b43-26_aug_2013.zip?q=download/openjdk/jdk7u40/promoted/b43/openjdk-7u40-fcs-src-b43-26_aug_2013.zip,或者https://pan.baidu.com/s/1o7PMZB8,下载后解压到路径 /home/lxz/openjdk;
PS:
调试一段时候,才知道openjdk是C++变写的代码或者叫源码,可以理解为java代码,可以在VS、NetBeens等工具上调试;
而编译好的代码,类似于java中的class,可以直接在linux上面运行,可以代替安装好的jdk;
所以可以通过VS、NetBeens工具查看、调试openjdk源码,通过查看openjdk源码可以看到JVM调优的一些参数,这些参数可以想象成java代码方法参数;
也可以直接在linux上面调试编译好的代码;
二、下载安装依赖包
#配置更新源cd /etc/yum.repos.d/curl http://mirrors.163.com/.help/CentOS6-Base-163.repo > CentOS6-Base-163.repo #当前wget还不能用wget http://mirrors.163.com/.help/CentOS6-Base-163.repomv CentOS-Base.repo CentOS-Base.repo.bakmv CentOS6-Base-163.repo CentOS-Base.repoyum makecacheyum -y groupinstall 'base'yum -y install make#安装jdk必备软件包:yum -y install alsa-lib-develyum -y install cups-develyum -y install libXi-develyum -y install gcc gcc-c++yum -y install libX*
三、编译源码
编译源码前需要先做执行配置:
export LANG=Cexport ALT_BOOTDIR=/usr/java/jdk1.6.0_45export ALT_JDK_IMPORT_PATH=/usr/java/jdk1.6.0_45export ANT_HOME=/usr/java/apache-ant-1.7.1 #允许自动下载依赖export ALLOW_DOWNLOADS=true #并行编译的线程数(设置和CPU内核一样就好,在VMware安装时可以设置)export HOTSPOT_BUILD_JOBS=4export ALT_PARALLEL_COMPILE_JOBS=1 #64位jdkexport ARCH_DATA_MODEL=64 #不比较本次build出来的映像与先前版本的差异export SKIP_COMPARE_IMAGES=true #使用预编译头文件export USE_PRECOMPILED_HEADER=true #要编译的内容export BUILD_LANGTOOLS=trueexport BUILD_HOTSPOT=trueexport BUILD_JDK=trueexport BUILD_JAXWS=trueexport BUILD_JAXP=trueexport BUILD_CORBA=trueexport SKIP_DEBUG_BUILD=falseexport SKIP_FASTDEBUG_BUILD=falseEXPORT DEBUG_NAME=debug BUILD_DEPLOY=falseBUILD_INSTALL=false export ALT_OUTPUTDIR=/home/lxz/openjdk/buildunset CLASSPATHunset JAVA_HOME #用来检查前面做做的设置是否正确make sanity #编译,编译成功后在 /home/lxz/openjdk 会有build-debug、build-fastdebug两个目录make 2>&1 | tee $ALT_OUTPUTDIR/build.log
四、编译过程中出现的问题
1、时间问题
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[4]: *** [/root/openjdk6/build/lib/currency.data] Error 1
需要修改源码目录中的CurrencyData.properties文件(/home/lxz/openjdk/jdk/src/share/classes/java/util/CurrencyData.properties),我们需要做的是把文件中以下的时间改为10年内的一个时间,比如:2005-12-31-20-00-00中2005改为2015;
五、验证
参考链接:
点击打开链接 :http://www.linuxidc.com/Linux/2015-05/117248.htm
点击打开链接 :http://www.cnblogs.com/ACFLOOD/p/5528035.html
- CentOS6.5编译openjdk7
- Centos6.5编译openjdk7
- CentOS6.5上编译OpenJDK7源码
- Windows下编译OpenJDK7
- Ubuntu 下编译 openJDK7
- fedora15 编译openjdk7
- ubuntu10.04编译openjdk7
- openjdk7的编译
- Ubuntu12编译openjdk7
- ubuntu下编译openjdk7
- Mac编译OpenJDK7
- Linux下编译OpenJDK7
- Centos7 下编译openjdk7
- 自己动手编译openjdk7
- ubuntu14 编译 openjdk7
- ubuntu14.04编译openjdk7
- Ubuntu16.04 编译 OpenJDK7
- 【JDK编译】Centos7编译OpenJDK7
- Saltstack 快速入门教程
- promise的基本用法
- 用按钮换肤
- ElasticSearch javaAPI demo示例
- oracle查询用户被占用
- Centos6.5编译openjdk7
- Vue中proxyTable的配置
- EditText限制输入字符类型的几种方式
- Android深度探索:HAL与驱动开发学习笔记--并发控制之信号量&完成量
- 【24】纯css实现一台正在打字的电脑
- bzoj1626 [Usaco2007 Dec]Building Roads 修建道路(kruskal裸题)
- 高效学习,快速变现:不走弯路的五大学习策略
- 指针和内存管理
- Sublime Text3工具的安装、破解、VIM功能vintage插件教程(已经实践、绝对可用)