本篇文章介紹如何在 Ubuntu Linux 中以 apt 安裝 Oracle 或 OpenJDK 的 Java 的 JRE 執行環境以及 JDK 開發環境。
Java 是許多應用軟體都會需要的執行環境,而在 Ubuntu Linux 中的 Java 版本主要有兩種,一個是 Oracle 官方的 Java,另外一個是 OpenJDK 開放原始碼的 Java,這兩種 Java 實作版本都有通過 TCK,而且兩者目前主要都是 Oracle 在維護,差異其實不大(請參考 StackOverflow)。
以下是在 Ubuntu Linux 中使用 apt 安裝 Oracle 與 OpenJDK 的 Java 安裝步驟。
OpenJDK 是 Ubuntu Linux 預設的 JRE/JDK,我們可以使用 apt 安裝:
sudo apt-get update sudo apt-get install default-jre
若只是要執行一般的 Java 應用程式,就只要安裝 JRE 即可,如果是要使用 Java 開發程式,就要加裝 JDK:
sudo apt-get install default-jdk
安裝完成後,可以檢查一下 java
的版本:
java -version
openjdk version "1.8.0_121" OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13) OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)
javac -version
javac 1.8.0_121
由於 Oracle 的 Java 版本不是屬於開放原始碼授權的,所以如果想要安裝 Oracle 官方的 JDK 環境,步驟會稍微複雜一些。
首先新增一個 PPA:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update
接著依照自己需要的 Java 版本安裝。
sudo apt-get install oracle-java6-installer # 安裝 Oracle JDK 6 sudo apt-get install oracle-java7-installer # 安裝 Oracle JDK 7 sudo apt-get install oracle-java8-installer # 安裝 Oracle JDK 8 sudo apt-get install oracle-java9-installer # 安裝 Oracle JDK 9
目前 Java 最新的穩定版本是 安裝 Oracle JDK 8,沒有特殊需求的話,建議安裝這一個版本。
Oracle JDK 9 預定 2017 年三月份才會釋出正式版,目前還是 preview 版,正式的環境不建議使用。
由於 Oracle 的 Java 是屬於 Oracle 公司所有,它的授權方式不是一般的開放原始碼授權,安裝時會跳出類似這種授權條款訊息,必須選擇「Yes」同意授權條款才能安裝 Oracle 的 Java。
在 Ubuntu Linux 系統上我們可以同時安裝多種 Java 版本,兒我們可以透過 update-alternatives
這個工具來設定系統預設的 Java 版本,首先用 --query
或是 --display
列出目前系統預設的 Java 版本以及所有可用的 java
版本:
update-alternatives --query java
Name: java Link: /usr/bin/java Slaves: java.1.gz /usr/share/man/man1/java.1.gz Status: manual Best: /usr/lib/jvm/java-8-oracle/jre/bin/java Value: /usr/lib/jvm/java-8-oracle/jre/bin/java Alternative: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java Priority: 1081 Slaves: java.1.gz /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz Alternative: /usr/lib/jvm/java-8-oracle/jre/bin/java Priority: 1081 Slaves: java.1.gz /usr/lib/jvm/java-8-oracle/man/man1/java.1.gz
目前系統預設的版本是 Oracle 的 Java(/usr/lib/jvm/java-8-oracle/jre/bin/java
),若要更改這個系統預設的 Java 版本,可以使用 --config
參數來設定:
sudo update-alternatives --config java
接著使用編號選擇 Java 的版本:
其他的 javac
與 javadoc
等相關指令也可以利用 update-alternatives
來更改預設版本:
update-alternatives --query javac update-alternatives --query javadoc
JAVA_HOME
環境變數JAVA_HOME
這個環境變數紀錄了 Java 的安裝路徑,很多的 Java 應用程式在執行時都會需要讀取這個環境變數的值,我們可以利用上面介紹的 update-alternatives
指令查詢 Java 的安裝路徑,再將路徑設定加入 /etc/environment
中:
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
接著直接載入 /etc/environment
的設定,測試一下:
source /etc/environment echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
這樣就完成 JAVA_HOME
環境變數的設定了。
參考資料:DigitalOcean