JDK安裝指南-Linux綜合版

2020-10-12 14:00:38

JDK安裝指南-Linux綜合版

製作:紀元

本教學遵循CC-BY-NC-SA協定

(署名-非商業性-相同方式共用)

安裝JDK

方案一:DefaultJDK(Recommend)

sudo apt-get install default-jre default-jdk
java -version

當回顯類似於以下程式碼時,安裝成功(版本號可能存在差異,不影響使用)

備註:此方案下安裝的是系統預設JDK,一般情況下是OpenJDK,但環境變數不相同,故單獨拎出來講。

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

方案二:OpenJDK

sudo apt-get install openjdk-8-jdk
java -version

當回顯類似於以下程式碼時,安裝成功(版本號可能存在差異,不影響使用)

openjdk version 「1.8.0_91」 
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~15.10.1-b14) 
OpenJDK Server VM (build 25.91-b14, mixed mode)

方案三:Oracle-JDK 8

方案(1) 使用apt安裝(Recommend)

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java14-installer
java -version

方案(2) 從檔案安裝

安裝檔案可以點選這裡獲得。注意選擇符合電腦執行指令集的版本,如使用Raspberry請下載AMD版本,如使用虛擬機器器請檢視實體機指令集版本。

sudo tar zxvf jdk-8-ea-b36e-linux-arm-hflt-*.tar.gz -C /usr/lib/jvm/
# 以jdk開頭的檔名,視下載的檔案輸入,推薦使用Tab自動補全,-C後面的路徑為解壓路徑
sudo update-alternatives --install "/usr/bin/java"
java -version

當回顯類似於以下程式碼時,安裝成功(版本號可能存在差異,不影響使用)

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

修改執行模式

因為JDK 8還不支援server模式,如果需要使用MapReduce, 需要強制在JVM client模式下執行DataNode。

cd /usr/local/hadoop/bin
cp hadoop hadoop-backup
#備份hadoop檔案
vim hadoop

hadoop檔案中查詢-server欄位,將其刪除即可。

如果修改錯誤,可以使用:q!強制不儲存退出。如果已經儲存,可以使用以下命令還原檔案

cp hadoop-backup hadoop

環境變數設定:

檢視終端型別:

執行以下命令,查詢終端型別。回顯/bin後面的就是終端型別。

echo $SHELL

修改終端組態檔:

vim ~/.bashrc
#使用bash作為終端時請新增上面這條(預設情況)
vim ~/.zshrc
#使用zsh或oh-my-zsh作為終端時請新增上面這條

在組態檔底部新增相應內容

export JAVA_HOME=/usr/lib/jvm/default-java
#使用DefaultJDK時請新增上面這條,不用修改。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
#使用OpenJDK時請新增上面這條,其中以」java-」開頭的資料夾視安裝版本決定,建議在命令列下提前檢視。
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60
#使用OracleJDK時請新增上面這條,其中具體路徑以實際解壓的路徑為準,建議在命令列下提前檢視。

應用修改

source ~/.bashrc
#使用bash作為終端時請新增上面這條(預設情況)
source ~/.zshrc
#使用zsh或oh-my-zsh作為終端時請新增上面這條

常見問題

不同JDK衝突

如果同時安裝了複數個JDK,可以執行以下命令進行切換

sudo update-alternatives --config java

不能執行二進位制檔案

bash: ./java: cannot execute binary file

出現這個錯誤的原因可能jdk安裝包版本錯誤, 執行以下命令可以檢視系統版本,i686表示是32位元, x86_64表示是64位元。

sudo uname -m