Ubuntu16.04編譯Openjdk8,筆者親測編譯成功


現在很多語言都不開發運行環境了,都選擇在JRE上運行,足以證明JVM的優越。你精通了JVM,未來的路才可能走得輕松。這篇文章是你走近jvm的第一篇,編譯Openjdk8源碼

編譯環境

  操作系統:Ubuntu16 (ubuntu-16.04.6-desktop-amd64.iso   workstation用6.5-7)

  boot jdk:jdk7 (jdk-7u80-linux-x64.tar.gz)

  Openjdk:jdk8 (openjdk-8u40-src-b25-10_feb_2015.zip)

 編譯前准備

Ubuntu提供兩種進入方式,一個是我們平常最熟悉的圖形界面形式,還有一種是純命令行方式

Ctrl + Alt + F6 即可進入純命令行模式,進入后,需要輸入用戶名,密碼

接着安裝vim工具,並用vim打開如下文件

sudo vim /etc/network/interfaces

添加以下內容

修改如下文件,將managed設置為true,如果是只讀文件,需要授權(此處不再贅述)

/etc/NetworkManager/NetworkManager.conf

打開如下文件, 添加內容

/etc/resolvconf/resolv.conf.d/base

重啟網絡服務

service network-manager restart

 

Ubuntu 更改文件權限及chmod詳細用法如下:
一、常用方法如下:(其中×××指文件名)
 (所有者有讀和寫的權限,組用戶只有讀的權限)

sudo chmod 644 ×××

(每個人都有讀和寫以及執行的權限)

sudo chmod 777 ××× 

輸入以下命令進行安裝遠程ssh服務

# sudo apt-get install openssh-server

若沒有ssh,需要執行

# sudo apt-get install ssh

(設置完靜態ip,並用xshell遠程連接成功,如下圖)

 

 

編譯流程

1、安裝依賴(這步比較慢,耐心等待)

sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfreetype6-dev libasound2-dev ccache

或者

sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
sudo apt-get install libcups2-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libasound2-dev

 

2、安裝boot jdk

因為openjdk源碼中有些功能是用Java代碼實現的,比如調試工具:jps、jstat等,還有一些核心jar包,如rt.jar、tools.jar等,都需要相應版本的JDK。boot jdk需要比你編譯的jdk版本低,這里我們用jdk7

 

 

 直接解壓到Documents目錄下,然后配置下環境

tar zxvf jdk-7u80-linux-x64.tar.gz 

配置path

vim ~/.bashrc

文件底部加入下面三句話(改成你自己的用戶名)

export JAVA_HOME=/home/lusai/Documents/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH

讓配置的path重新生效

source ~/.bashrc

查看是否安裝成功

java -version

 

3.解壓openjdk8 ,

 

 安裝 unzip

sudo apt install unzip

進入 openjdk8 的主目錄,解壓文件

 unzip openjdk-8u40-src-b25-10_feb_2015.zip 

進去解壓的文件

cd /home/lusai/Documents/openjdk

 

 執行配置命令,填寫Boot jdk的安裝目錄

sudo bash configure --with-target-bits=64 --with-boot-jdk=/home/lusai/Documents/jdk1.7.0_80/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0

如果配置成功,則會顯示如下信息:

 

 

開始編譯(時間較長,請耐心等待)

sudo make all DISABLE_HOTSPOT_OS_VERSION_CHECK=OK ZIP_DEBUGINFO_FILES=0

看到下面這個畫面就證明編譯成功,就可以用了

 

 

若在編譯過程中,出現以下錯誤,請不要慌張,這並沒有太大問題(網上是這么說的,最后確實也是沒太大問題):

 

 

查看剛才編譯成功的openjdk版本。首先進入 以下目錄,

cd /home/lusai/Documents/openjdk/build/linux-x86_64-normal-server-slowdebug/jdk/bin

再執行命令 ./java -version。可得如下結果:

./java -version

 

 至此,Openjdk8編譯大功告成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM