溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ubuntu輕松編譯openJDK的方法

發布時間:2021-02-08 11:02:54 來源:億速云 閱讀:208 作者:小新 欄目:服務器

這篇文章主要介紹Ubuntu輕松編譯openJDK的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

步驟1:(按照《深入理解Java虛擬機》中的命令)一鍵下載依賴

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,所以需要一個Bootstrap JDK去編譯Java的部分。這個JDK通常是比你要編譯的openJDK早一個版本的官方JDK,這是官方的README-builds(在第二步中下載下來的源碼根目錄下)說的:

...The general rule is that the bootstrap JDK must be an instance of the previous major release of the JDK.

每一個版本的README-builds中都會指明這一版的openJDK需要的Bootstrap JDK具體版本,比如openJDK8需要的是JDK7u7以上的版本,但不能是JDK8:

Ubuntu輕松編譯openJDK的方法

步驟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的最新源碼。小伙伴如果想下載其它版本的源碼可以去這里browse: http://hg.openjdk.java.net/。這個下載過程大約三十分鐘。

如果不想用mercurial,也可以在這里下載zip包:http://jdk.java.net/java-se-ri/8 (在網頁偏下方RI source code那里):

Ubuntu輕松編譯openJDK的方法

我在windows上編譯是就是用這個zip包解壓編譯的,最后失敗了。出于迷信心理,在Ubuntu上我還是決定用mercurial下載,各路大神盡可不必理會。

步驟3:設置環境變量新建一個setup.sh,把以下的內容拷貝進去:

export LANG=C

#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

#要編譯的內容,讀者可以根據需要自行選擇

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

#編譯結果存放的路徑,建議存放在openjdk源碼中build文件夾

export ALT_OUTPUTDIR=/usr/dev/jvm/openjdk/build

#這兩個環境變量需要去掉,不然會出問題

unset JAVA_HOME

unset CLASSPATH

運行

./setup.sh

設置一遍就好。

步驟4:進行編譯

到下好的openJDK源碼的根目錄下運行make,大概需要二三十分鐘。本來是應該運行make sanity的,但是我又碰到了這個錯誤……

Ubuntu輕松編譯openJDK的方法

媽喲什么鬼,搜了一會無甚結果,于是雞賊的跳過了這一步直接運行make,竟然成功了,成功后的輸出長這樣:

Ubuntu輕松編譯openJDK的方法

以上是“Ubuntu輕松編譯openJDK的方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女