OpenJdk7编译
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
根據(jù)《深入理解Java虛擬機(jī)》一書,編譯java虛擬機(jī)源碼
系統(tǒng)環(huán)境:centos7
編譯jdk版本:jdk7u-dev
本地java環(huán)境:jdk-7u40
ant版本為:1.8.2
?
1.安裝相關(guān)依賴
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 (應(yīng)該是這步很重要)
?
本地java環(huán)境: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.修改環(huán)境變量
vi /ect/profile
?
3.編寫構(gòu)建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.最終經(jīng)歷千辛萬苦OpenJdk7編譯完成
?
坑1:本地嘗試手動安裝多個版本的ant,確認(rèn)指定編譯的ant版本無誤。還是報下圖錯誤:
坑2:手動安裝ant,make sanity驗(yàn)證不通過。網(wǎng)上說通過yum install ant,就ok。但是后續(xù)卻報找不到Launcher主類錯誤。強(qiáng)制在環(huán)境變量中配置的該類路徑仍然,無法生效。一直卡ant編譯這個問題上,后續(xù)看到別人編譯要建立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會報如下錯誤
?
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/1017791/blog/3022488
總結(jié)
以上是生活随笔為你收集整理的OpenJdk7编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TOML-To-Go 更新,支持暗黑模式
- 下一篇: Open vSwitch介绍