Java已經成為開發(fā)人員的主要編程語言。實際上,Java是市場上最受歡迎的編程語言之一。造成這種情況的部分原因是Android。最初創(chuàng)建Java時,是在考慮網(wǎng)絡的情況下進行的。Java還獲得了業(yè)界主要參與者的支持。但是Java經受了時間的考驗,并將在可預見的未來繼續(xù)這樣做。隨著Java的持續(xù)發(fā)展,開發(fā)人員將繼續(xù)依賴這種“編寫一次,隨處運行”的語言。
這并不意味著Java并非沒有它的問題。這樣的警告之一是該語言的多種版本仍在使用中。例如,盡管可以使用Java 11,但是許多程序仍然依賴Java 8。為什么會這樣呢?Java 8是一個長期支持版本,這意味著它將在2030年之前得到支持。Java11也是一個LTS版本,直到2026年都將得到支持。最新版本Java 14于2020年3月發(fā)布,但是它并不是一個長期支持版本。因此,目前,開發(fā)人員和用戶必須應對三種可行的Java版本。那么如何在Linux上使用Java的多個版本?讓我們看一下如何在Linux上完成此操作。
在Linux上安裝Java
假設您要在Ubuntu Linux上同時安裝JDK 8和Java開發(fā)工具包11。您可以從命令行輕松地執(zhí)行此操作。
打開一個終端窗口,并使用以下命令安裝Java 8:
sudo apt-get install openjdk-8-jre-headless -y
Install Java 11 with the command:
sudo apt-get install openjdk-11-jre-headless -y
選擇要使用的Java
問題是,當您安裝Java 11時,它將導致系統(tǒng)自動默認為Java11。當您需要切換回使用Java 8時會發(fā)生什么?幸運的是,有一個工具可以讓您選擇默認值。該工具是更新替代品,當您安裝了多個版本時,它允許您配置許多工具。
對于Java,如果同時安裝了Java 8和11,則可以運行以下命令:
sudo update-alternatives --config java
將為您提供可用的選項(在本例中為Java 8和11)。要選擇要設置為在系統(tǒng)上使用的選項的用戶,請鍵入與要使用的版本關聯(lián)的數(shù)字,然后按Enter。
在Ubuntu Linux上的Java 8和11之間進行選擇。
任何時候您需要切換Java版本時,都運行相同的命令并選擇要使用的版本。
如何設置JAVA_HOME環(huán)境變量
許多Java應用程序都依賴JAVA_HOME環(huán)境變量來設置Java安裝的位置。要確定此位置在哪里,您首先必須重新運行update-alternatives命令,如下所示:
sudo update-alternatives --config java
該命令的輸出不僅允許您選擇要使用的Java版本,而且還包括該版本的路徑。看一下上面的示例。您會看到:
Java 11路徑為:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Java 8路徑為:
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
復制您要使用的Java版本的路徑,然后發(fā)出命令:
sudo nano /etc/environment
在文件底部,如下所示添加環(huán)境:
JAVA_HOME="PATH"
其中PATH是要用于JAVA_HOME環(huán)境變量的版本的路徑。在我們的示例中,對于Java 11,該行為:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"
For Java 8, that line would be:
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
進行更改后,保存并關閉文件。使用以下命令重新加載環(huán)境文件:
source /etc/environment
最后,使用以下命令驗證路徑是否已更改:
echo $JAVA_HOME
命令的輸出應與您選擇使用的Java版本的路徑匹配。
在Linux上安裝多少個Java版本都沒有關系。只需稍加注意,您的Java開發(fā)就可以大大簡化。使用多個版本的Java并不是挑戰(zhàn)。通過幾個簡單的命令,您就可以控制環(huán)境。更多關于Linux的信息,請繼續(xù)關注中培偉業(yè)。