您的位置:首页 > 编程语言 > Java开发

open JDk 7编译 环境ubuntu 14 jdk8

2016-08-15 17:20 141 查看
参考:<a target=_blank href="http://blog.csdn.net/chelseablue1905/article/details/47209139">http://blog.csdn.net/chelseablue1905/article/details/47209139</a>

1.配置环境依赖
sudo apt-get install build-essential g++-multilib gcc-multilib ant libxrender-dev xorg-dev libasound2-dev libcups2-dev  gawk zip libxtst-dev libxi-dev libxt-dev
2.
#!/usr/bin/env bash
#语言选项,这个必须设置,否则编译好后会出现一个HashTable的NPE错
export LANG=C

#Bootstrap JDK的安装路径。必须设置。
export ALT_BOOTDIR=/usr/lib/jdk/jdk8

#允许自动下载依赖
export ALLOW_DOWNLOADS=true

#并行编译的线程数,设置为和CPU内核数量一致即可
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4

#比较本次build出来的映像与先前版本的差异。这个对我们来说没有意义,必须设置为false,否则sanity检查会报缺少先前版本JDK的映像。如果有设置dev或者DEV_ONLY=true的话这个不显式设置也行。
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 SKIP_DEBUG_BUILD=false
#export SKIP_FASTDEBUG_BUILD=true
#export DEBUG_NAME=debug

#把它设置为false可以避开javaws和浏览器Java插件之类的部分的build。
BUILD_DEPLOY=false

#把它设置为false就不会build出安装包。因为安装包里有些奇怪的依赖,但即便不build出它也已经能得到完整的JDK映像,所以还是别build它好了。
BUILD_INSTALL=false

#编译结果所存放的路径
export ALT_OUTPUTDIR=/home/dream/jvm/build

#这两个环境变量必须去掉,不然会有很诡异的事情发生(我没有具体查过这些“”诡异的事情”,Makefile脚本检查到有这2个变量就会提示警告“)
unset JAVA_HOME
unset CLASSPATH

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

编译时出现以下错误:

#!/usr/bin/env bash
#语言选项,这个必须设置,否则编译好后会出现一个HashTable的NPE错
export LANG=C

#Bootstrap JDK的安装路径。必须设置。
export ALT_BOOTDIR=/usr/lib/jvm/jdk1.7

#允许自动下载依赖
export ALLOW_DOWNLOADS=true

#并行编译的线程数,设置为和CPU内核数量一致即可
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4

#比较本次build出来的映像与先前版本的差异。这个对我们来说没有意义,必须设置为false,否则sanity检查会报缺少先前版本JDK的映像。如果有设置dev或者DEV_ONLY=true的话这个不显式设置也行。
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 SKIP_DEBUG_BUILD=false
#export SKIP_FASTDEBUG_BUILD=true
#export DEBUG_NAME=debug

#把它设置为false可以避开javaws和浏览器Java插件之类的部分的build。
BUILD_DEPLOY=false

#把它设置为false就不会build出安装包。因为安装包里有些奇怪的依赖,但即便不build出它也已经能得到完整的JDK映像,所以还是别build它好了。
BUILD_INSTALL=false

#编译结果所存放的路径
export ALT_OUTPUTDIR=~/openjdk7/build

#这两个环境变量必须去掉,不然会有很诡异的事情发生(我没有具体查过这些“”诡异的事情”,Makefile脚本检查到有这2个变量就会提示警告“)
unset JAVA_HOME
unset CLASSPATH

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


编译过程出现错误  http://blog.csdn.net/zitong_ccnu/article/details/50149757

home/hadoopuser1/openjdk7/build/btjars/generatecurrencydata.jar -o /home/hadoopuser1/openjdk7/build/lib/currency.data.temp \
< ../../../src/share/classes/java/util/CurrencyData.properties
Error: time is more than 10 years from present: 1136059200000
java.lang.RuntimeException: time is more than 10 years from present: 1136059200000
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]: *** [/home/hadoopuser1/openjdk7/build/lib/currency.data] Error 1
make[4]: Leaving directory `/home/hadoopuser1/openjdk7/openjdk-7u40-fcs-src-b43-26_aug_2013/jdk/make/java/java'
make[3]: *** [all] Error 1
make[3]: Leaving directory `/home/hadoopuser1/openjdk7/openjdk-7u40-fcs-src-b43-26_aug_2013/jdk/make/java'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/hadoopuser1/openjdk7/openjdk-7u40-fcs-src-b43-26_aug_2013/jdk/make'


解决方法: CurrencyData.properties 中的时间改成10年内

ok

#-- Build times ----------

Target all_product_build

Start 2016-08-15 22:38:53

End   2016-08-15 23:33:37

00:04:32 corba

00:22:31 hotspot

00:00:48 jaxp

00:01:01 jaxws

00:24:11 jdk

00:01:41 langtools

00:54:44 TOTAL

hadoopuser1@master:/exapp/openjdk7/build/j2sdk-image/jre/bin$ l

java*     orbd*     policytool*  rmiregistry*  tnameserv*

keytool*  pack200*  rmid*        servertool*   unpack200*

hadoopuser1@master:/exapp/openjdk7/build/j2sdk-image/jre/bin$ ./java -version

openjdk version "1.7.0-internal"

OpenJDK Runtime Environment (build 1.7.0-internal-hadoopuser1_2016_08_15_22_38-b00)

OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)

hadoopuser1@master:/exapp/openjdk7/build/j2sdk-image/jre/bin$ 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdk openjdk 编译