如何在Ubuntu 22.04上安裝Java

Java 一種非常流行的面向?qū)ο蟮木幊陶Z言掰邢,跨平臺運行,可用于編寫桌面應(yīng)用程序昧甘,Web應(yīng)用程序命黔,分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用等等呜呐。

本文介紹如何在 Ubuntu 22.04 上安裝多版本的 Java。

前提條件

1悍募、安裝了 Ubuntu 22.04 系統(tǒng)的服務(wù)器或PC蘑辑,可以購買騰訊VPS阿里云VPS,或自己安裝個虛擬機搜立。

2以躯、擁有 Ubuntu 22.04 的 root 權(quán)限。

常用的JDK主要包括OpenJDK 和 Oracle JDK 啄踊,它們之前幾乎沒有區(qū)別忧设,功能幾乎相同,主要區(qū)別在于Open JDK是一個開源項目颠通,而Oracle JDK 需要付費許可證或只允許商業(yè)性使用軟件址晕,當(dāng)然Oracle JDK 包含了一些Open JDK無法使用的二外商業(yè)功能。

安裝OpenJDK

默認(rèn) Ubuntu 22.04 存儲庫中包OpenJDK軟件包顿锰,所以我們可以直接運行命令進(jìn)行安裝谨垃。

sudo apt install openjdk-17-jdk

Java有四個長期支持(LTS)版本:8启搂、11、17和21刘陶。Ubuntu 22.04 中的默認(rèn) Java 開發(fā)和運行時設(shè)置為 Java 17胳赌。

如果想安裝其他版本,替換上述命令中的版本號匙隔,例如 openjdk-11-jdk疑苫。

安裝完成后,可以通過如下命令檢測Java版本纷责。

java -version

輸出類似如下內(nèi)容:

openjdk version "17.0.8.1" 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+1-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.8.1+1-Ubuntu-0ubuntu122.04, mixed mode, sharing)

這說明捍掺,已經(jīng)成功安裝了Java。

安裝Oracle JDK

Oracle JDK軟件包并不包含在Ubuntu存儲庫中再膳,所以我們需從Oracle網(wǎng)站下載安裝包進(jìn)行安裝挺勿。

訪問 Oracle 網(wǎng)站,進(jìn)入 Java 軟件包下載界面喂柒。

oracle java

我們可以下載最新版本21的安裝包(根據(jù)你自己的需要下載對應(yīng)的軟件包即可)不瓶,找到對應(yīng)的deb包下載記錄,如下圖所示灾杰。

java download

使用 wget 命令進(jìn)行下載湃番,打開終端,在終端中輸入wget 然后后面跟上下載地址即可吭露。

wget https://download.oracle.com/java/21/archive/jdk-21.0.1_linux-x64_bin.deb

下載后,執(zhí)行如下安裝命令

sudo apt install ./jdk-21.0.1_linux-x64_bin.deb

其中的./表示當(dāng)前目錄尊惰。

設(shè)置系統(tǒng)默認(rèn)Java版本

在調(diào)試讲竿、構(gòu)建或運行基于Java的應(yīng)用程序時,默認(rèn)使用Java的默認(rèn)版本弄屡。如果您的Ubuntu系統(tǒng)上安裝了多個Java版本题禀,您可以通過鍵入以下內(nèi)容來檢查哪個版本設(shè)置為默認(rèn)版本:

java -version

要更改默認(rèn)版本,請使用update-alternatives命令:

sudo update-alternatives --config java

您將看到所有已安裝的Java版本的列表膀捷。例如迈嘹,如果您安裝了OpenJDK 11和17和Oracle JDK 21,輸出將如下所示:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/jdk-21-oracle-x64/bin/java       352329728 auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      manual mode
  3            /usr/lib/jvm/jdk-21-oracle-x64/bin/java       352329728 manual mode

Press <enter> to keep the current choice[*], or type selection number: 

輸入您要用作默認(rèn)版本的編號全庸,然后按Enter秀仲。

通過執(zhí)行以下操作來驗證默認(rèn)版本是否已更改:

java -version

設(shè)置JAVA_HOME環(huán)境變量

一些Java應(yīng)用程序使用JAVA_HOME環(huán)境變量來確定JDK安裝位置。

要設(shè)置JAVA_HOME變量壶笼,首先找到帶有update-alternatives的Java安裝路徑:

sudo update-alternatives --config java拷貝

在本例中神僵,不同java二進(jìn)制文件的路徑如下:

  • OpenJDK 21位于/usr/lib/jvm/jdk-21-oracle-x64/bin/java
  • OpenJDK 17位于/usr/lib/jvm/java-17-openjdk-amd64/bin/java
  • OpenJDK 11位于/usr/lib/jvm/java-11-openjdk-amd64/bin/java

java二進(jìn)制文件位于JAVA_HOME/bin/java。因此覆劈,我們應(yīng)該將JAVA_HOME設(shè)置為上面的路徑之一保礼,不包括bin/java部分沛励。

找到首選Java安裝的路徑后,打開/etc/environment文件:

sudo nano /etc/environment拷貝

假設(shè)您想將JAVA_HOME設(shè)置為指向OpenJDK 17炮障,請在文件末尾添加以下行:

JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

要使更改對當(dāng)前會話生效目派,您可以注銷并登錄或運行以下source命令:

source /etc/environment

要驗證JAVA_HOME環(huán)境變量是否設(shè)置正確,請鍵入:

echo $JAVA_HOME

您應(yīng)該看到Java安裝的路徑:

/usr/lib/jvm/java-17-openjdk-amd64

/etc/environment是一個系統(tǒng)范圍的配置文件胁赢,由所有用戶使用企蹭。如果您想在每個用戶的基礎(chǔ)上設(shè)置JAVA_HOME變量,請將該行添加到.bashrc或用戶登錄時加載的任何其他配置文件中徘键。

卸載Java

您可以像安裝apt的任何其他軟件包一樣卸載Java练对。

例如,要卸載openjdk-17-jdk軟件包吹害,請輸入:

sudo apt remove openjdk-17-jdk

寫在最后

我們向您展示了如何使用apt軟件包管理器從默認(rèn)的 Ubuntu 22.04 存儲庫安裝OpenJDK 17 和 OpenJDK 11螟凭,以及如何下載和安裝Oracle JDK。

如果您有任何問題它呀,請隨時發(fā)表評論螺男。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纵穿,隨后出現(xiàn)的幾起案子下隧,更是在濱河造成了極大的恐慌,老刑警劉巖谓媒,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淆院,死亡現(xiàn)場離奇詭異,居然都是意外死亡句惯,警方通過查閱死者的電腦和手機土辩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抢野,“玉大人拷淘,你說我怎么就攤上這事≈腹拢” “怎么了启涯?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恃轩。 經(jīng)常有香客問我结洼,道長,這世上最難降的妖魔是什么详恼? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任补君,我火速辦了婚禮,結(jié)果婚禮上昧互,老公的妹妹穿的比我還像新娘挽铁。我一直安慰自己伟桅,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布叽掘。 她就那樣靜靜地躺著楣铁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪更扁。 梳的紋絲不亂的頭發(fā)上盖腕,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音浓镜,去河邊找鬼溃列。 笑死,一個胖子當(dāng)著我的面吹牛膛薛,可吹牛的內(nèi)容都是我干的听隐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哄啄,長吁一口氣:“原來是場噩夢啊……” “哼雅任!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咨跌,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤沪么,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锌半,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體禽车,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年刊殉,在試婚紗的時候發(fā)現(xiàn)自己被綠了哭当。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡冗澈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出陋葡,到底是詐尸還是另有隱情亚亲,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布腐缤,位于F島的核電站捌归,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏岭粤。R本人自食惡果不足惜惜索,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剃浇。 院中可真熱鬧巾兆,春花似錦猎物、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至圃伶,卻和暖如春堤如,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窒朋。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工搀罢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侥猩。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓榔至,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拭宁。 傳聞我的和親對象是個殘疾皇子洛退,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容