本文小編為大家詳細(xì)介紹“Ubuntu怎么編譯openJDK”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Ubuntu怎么編譯openJDK”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出洮南免費(fèi)做網(wǎng)站回饋大家。
步驟1:一鍵下載依賴
sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev ant
openjdk的源代碼有c++也有java,所以需要一個(gè)bootstrap jdk去編譯java的部分。這個(gè)jdk通常是比你要編譯的openjdk早一個(gè)版本的官方j(luò)dk,這是官方的readme-builds(在第二步中下載下來(lái)的源碼根目錄下)說(shuō)的:
...the general rule is that the bootstrap jdk must be an instance of the previous major release of the jdk.
每一個(gè)版本的readme-builds中都會(huì)指明這一版的openjdk需要的bootstrap jdk具體版本,比如openjdk8需要的是jdk7u7以上的版本,但不能是jdk8:
步驟2:下載源碼
sudo hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/ cd jdk8u-dev chmod 755 get_source.sh ./get_source.sh
用mercurial下載jdk8u的最新源碼。
步驟3:設(shè)置環(huán)境變量新建一個(gè)setup.sh,把以下的內(nèi)容拷貝進(jìn)去:
export #bootstrap-jdk的安裝路徑,替換為自己bootstrap-jdk的路徑 export alt_bootdir=/usr/lib/jvm/java-7-oracle-1.7.0.80 export allow_downloads=true export hotspot_build_jobs=8 export skip_compare_images=true #要編譯的內(nèi)容,讀者可以根據(jù)需要自行選擇 export build_langtools=true #export build_jaxws=false #export build_jaxp=false #export build_corba=false export build_hotspot=true export build_jdk=true export skip_compare_images=true build_deploy=false build_install=false #編譯結(jié)果存放的路徑,建議存放在openjdk源碼中build文件夾 export alt_outputdir=/usr/dev/jvm/openjdk/build #這兩個(gè)環(huán)境變量需要去掉,不然會(huì)出問(wèn)題 unset java_home unset classpath
運(yùn)行
./setup.sh
設(shè)置一遍就好。
步驟4:進(jìn)行編譯
到下好的openjdk源碼的根目錄下運(yùn)行make,大概需要二三十分鐘。本來(lái)是應(yīng)該運(yùn)行make sanity的,但是我又碰到了這個(gè)錯(cuò)誤……
媽喲什么鬼,搜了一會(huì)無(wú)甚結(jié)果,于是雞賊的跳過(guò)了這一步直接運(yùn)行make,竟然成功了,成功后的輸出長(zhǎng)這樣:
讀到這里,這篇“Ubuntu怎么編譯openJDK”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。