如何在 Linux 上安裝 Java

轉(zhuǎn)摘:如何在 Linux 上安裝 Java

在桌面上擁抱 Java 應用程序萄唇,然后在所有桌面上運行它們檩帐。

無論你運行的是哪種操作系統(tǒng),通常都有幾種安裝應用程序的方法另萤。有時你可能會在應用程序商店中找到一個應用程序湃密,或者使用 Fedora 上的 DNF 或 Mac 上的 Brew 這樣的軟件包管理器進行安裝,而有時你可能會從網(wǎng)站上下載可執(zhí)行文件或安裝程序四敞。因為 Java 是這么多流行的應用程序的后端勾缭,所以最好了解安裝它的不同方法。好消息是你有很多選擇目养,本文涵蓋了所有這些內(nèi)容俩由。

壞消息是 Java 太大,我說的不僅僅是文件大小癌蚁。Java 是一種開放源代碼語言和規(guī)范幻梯,這意味著從理論上講兜畸,任何人都可以創(chuàng)建它的實現(xiàn)版本。這意味著,在安裝任何東西之前,必須確定要安裝的 Java 發(fā)行版掌眠。

我需要 JVM 還是 JRE 或者 JDK建丧?

Java 大致分為兩個下載類別。Java 虛擬機Java Virtual Machine(JVM)是運行時組件烟逊;它是使 Java 應用程序能夠在計算機上啟動和運行的“引擎”。它包含在 Java 運行時環(huán)境Java Runtime Environment(JRE)中。

Java 開發(fā)工具包Java Development Kit(JDK)是一個開發(fā)工具包:你可以將其視為一個車庫在扰,修理工可以坐在那里進行調(diào)整、修理和改進雷客。JDK 包含 Java 運行時環(huán)境(JRE)芒珠。
以下載來說,這意味著:

  • 如果你是希望運行 Java 應用程序的用戶搅裙,則只需 JRE(包括了 JVM)皱卓。
  • 如果你是希望使用 Java 進行編程的開發(fā)人員,則需要 JDK(包括 JRE 庫部逮,而 JRE 庫又包括 JVM)娜汁。 ### OpenJDK、IcedTea 和 OracleJDK 有什么不同兄朋?

當太陽微系統(tǒng)Sun Microsystems被 Oracle 收購時掐禁,Java 是該交易的主要部分。幸運的是蜈漓,Java 是一種開源技術(shù)穆桂,因此,如果你對 Oracle 維護該項目的方式不滿意融虽,則可以選擇其他方法享完。Oracle 將專有組件與 Java 下載捆綁在一起,而 OpenJDK 項目是完全開源的有额。

IcedTea 項目本質(zhì)上是 OpenJDK般又,但其目標是使用戶在使用完全自由開源的工具時更容易構(gòu)建和部署 OpenJDK。

(LCTT 譯注:阿里巴巴也有一個它自己維護的 Open JDK 發(fā)行版“龍井Dragonwell”巍佑。以下引自其官網(wǎng):“Alibaba Dragonwell 是一款免費的茴迁,生產(chǎn)就緒型 Open JDK 發(fā)行版,提供長期支持萤衰,包括性能增強和安全修復堕义。……Alibaba Dragonwell 作為 Java 應用的基石脆栋,支撐了阿里經(jīng)濟體內(nèi)所有的 Java 業(yè)務倦卖。Alibaba Dragonwell 完全兼容 Java SE 標準洒擦,……”)

我應該安裝哪個 Java?

如果你對這些選擇感到不知所措怕膛,那么簡單的答案就是你應該安裝的 Java 實現(xiàn)應該是最容易安裝的那個熟嫩。當應用程序告訴你需要 Java 12,但你的存儲庫中只有 Java 8 時褐捻,可以安裝可以從可靠來源中找到的 Java 12 的任何實現(xiàn)掸茅。在 Linux 上,你可以一次安裝幾個不同版本的 Java柠逞,它們不會互相干擾昧狮。

如果你是需要選擇使用哪個版本的開發(fā)人員,則應考慮所需的組件边苹。如果選擇 Oracle 的版本陵且,請注意裁僧,軟件包中包含專有的插件和字體个束,可能會影響你分發(fā)你的應用程序。在 IcedTea 或 OpenJDK 上進行開發(fā)是最安全的聊疲。

從存儲庫安裝 OpenJDK茬底?

現(xiàn)在,你已經(jīng)知道要選擇什么了获洲,你可以使用軟件包管理器搜索 OpenJDK 或 IcedTea阱表,然后安裝所需的版本。有些發(fā)行版使用關(guān)鍵字 latest 來指示最新版本贡珊,這通常是你要運行的應用程序所需要的最爬。根據(jù)你使用的軟件包管理器,你甚至可以考慮使用 grep 過濾搜索結(jié)果以僅包括最新版本门岔。例如爱致,在 Fedora 上:

  1. $ sudo dnf search openjdk | grep latest | cut -f1 -d':'

  2. java-latest-openjdk-demo.x86_64

  3. java-openjdk.i686

  4. java-openjdk.x86_64

  5. java-latest-openjdk-jmods.x86_64

  6. java-latest-openjdk-src.x86_64

  7. java-latest-openjdk.x86_64

  8. [...]

只有當你嘗試運行的應用程序堅持要求你使用 Java 的舊版本時,你才應該看看 latest 之前的版本寒随。

在 Fedora 或類似系統(tǒng)上安裝 Java:

  1. $ sudo dnf install java-latest-openjdk

如果你的發(fā)行版不使用 latest 標簽糠悯,則可以使用其他關(guān)鍵字,例如 default妻往。以下是在 Debian 上搜索 OpenJDK 的信息:

  1. $ sudo apt search openjdk | less

  2. default-jdk

  3. Standard Java development kit

  4. default-jre

  5. Standard Java runtime

  6. openjdk-11-jdk

  7. OpenJDK development kit (JDK)

  8. [...]

在這種情況下互艾,default-jre 軟件包適合用戶,而 default-jdk 則適合開發(fā)人員讯泣。

例如纫普,要在 Debian 上安裝 JRE:

  1. $ sudo apt install default-jre

現(xiàn)在已安裝好 Java。

你的存儲庫中可能有許多與 Java 相關(guān)的軟件包好渠。要搜索 OpenJDK昨稼,如果你是用戶溉箕,則查找最新的 JRE 或 JVM,如果你是開發(fā)人員悦昵,則查找最新的 JDK肴茄。

從互聯(lián)網(wǎng)上安裝 Java

如果在存儲庫中找不到 JRE 或 JDK,或者找不到滿足你需求的 JRE 或 JDK但指,則可以從互聯(lián)網(wǎng)上下載開源的 Java 軟件包寡痰。你可以在 openjdk.java.net 中找到需要手動安裝的 tar 形式的 OpenJDK 下載文件,或者可以從 Azul 下載 tar 形式的 Zulu 社區(qū)版或其可安裝的 RPM 或 DEB 軟件包棋凳。

從 TAR 文件安裝 Java

如果從 Java.net 或 Azul 下載 TAR 文件拦坠,則必須手動安裝。這通常稱為“本地”安裝剩岳,因為你沒有將 Java 安裝到“全局”位置贞滨。你可以在 PATH 中選擇一個合適的位置。

如果你不知道 PATH 中包含什么拍棕,請查看一下以找出:

  1. $ echo $PATH
  2. /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/seth/bin

在此示例 PATH 中晓铆,位置 /usr/local/bin/home/seth/bin 是不錯的選擇。如果你是計算機上的唯一用戶绰播,那么你自己的家目錄就很有意義骄噪。如果你的計算機上有很多用戶,則最好選擇一個通用位置蠢箩,例如 /usr/local/opt链蕊。

如果你無權(quán)訪問需要 sudo 權(quán)限的 /usr/local 之類的系統(tǒng)級目錄,則可以在你自己的家目錄中創(chuàng)建一個本地 bin(意思是 “<ruby style="box-sizing: border-box;">二進制<rt style="box-sizing: border-box;">binary</rt></ruby>”谬泌,而不是“<ruby style="box-sizing: border-box;">垃圾箱<rt style="box-sizing: border-box;">waste bin</rt></ruby>”)或 Applications 文件夾:

  1. $ mkdir ~/bin

如果它不在你的 PATH 中滔韵,請將其添加到其中:

  1. $ echo PATH=$PATH:$HOME/bin &gt;&gt; ~/.bashrc
  2. $ source ~/.bashrc

最后,將壓縮包解壓縮到你選擇的目錄中掌实。

  1. $ tar --extract --file openjdk*linux-x64_bin.tar.gz --directory=$HOME/bin

Java 現(xiàn)在安裝好了陪蜻。

從 RPM 或 DEB 安裝 Java

如果從 Azul.com 下載 RPM 或 DEB 文件,則可以使用軟件包管理器進行安裝潮峦。

對于 Fedora囱皿、CentOS、RHEL 等忱嘹,請下載 RPM 并使用 DNF 進行安裝:

  1. $ sudo dnf install zulu*linux.x86_64.rpm

對于 Debian嘱腥、Ubuntu、Pop_OS 和類似發(fā)行版拘悦,請下載 DEB 軟件包并使用 Apt 安裝它:

  1. $ sudo dpkg -i zulu*linux_amd64.deb

Java 現(xiàn)在安裝好了齿兔。

用 alternatives 安裝你的 Java 版本

一些應用程序是為特定版本的 Java 開發(fā)的,不能與其他任何版本一起使用。這種情況很少見分苇,但確實會發(fā)生添诉,在 Linux 上,你可以使用本地安裝方法(請參閱上面“從 TAR 文件安裝 Java”一節(jié))或使用 alternatives 應用程序來解決此沖突医寿。

alternatives 命令會查找 Linux 系統(tǒng)上安裝的應用程序栏赴,并讓你選擇要使用的版本。有些發(fā)行版靖秩,例如 Slackware须眷,不提供 alternatives 命令,因此你必須使用本地安裝方法沟突。在 Fedora花颗、CentOS 和類似的發(fā)行版上,該命令是 alternatives惠拭。在 Debian扩劝、Ubuntu 和類似的系統(tǒng)上,該命令是 update-alternatives职辅。

要獲取當前已安裝在 Fedora 系統(tǒng)上的應用程序的可用版本列表:

  1. $ alternatives --list

在 Debian 上棒呛,你必須指定可供替代的應用程序:

  1. $ update-alternatives --list java

在 Fedora 上選擇要使系統(tǒng)將哪個版本作為默認版本:

  1. $ sudo alternatives --config java

在 Debian 上:

  1. $ sudo updates-alternatives --config java

你可以根據(jù)需要運行的應用程序,根據(jù)需要更改默認的 Java 版本罐农。

運行 Java 應用

Java 應用程序通常以 JAR 文件的形式分發(fā)条霜。根據(jù)你安裝 Java 的方式催什,你的系統(tǒng)可能已經(jīng)為運行 Java 應用程序配置好了涵亏,這使你只需雙擊應用程序圖標(或從應用程序菜單中選擇它)即可運行。如果必須執(zhí)行未與系統(tǒng)其余部分集成的本地 Java 安裝蒲凶,則可以直接從終端啟動 Java 應用程序:

  1. $ java -jar ~/bin/example.jar &

Java 是個好東西

Java 是少數(shù)將跨平臺開發(fā)放在首位的編程環(huán)境之一气筋。沒有什么比問一個應用程序是否能在你的平臺上運行然后發(fā)現(xiàn)該應用程序是用 Java 編寫要讓人感到松一口氣的了。它是如此簡單旋圆,無論你是開發(fā)人員還是用戶宠默,你都可以擺脫任何平臺上的焦慮。在桌面上擁抱 Java 應用程序灵巧,然后在所有桌面上運行它們吧搀矫。


via: https://opensource.com/article/19/11/install-java-linux

作者:Seth Kenlon 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創(chuàng)編譯,Linux中國 榮譽推出

轉(zhuǎn)自 https://linux.cn/article-11614-1.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刻肄,一起剝皮案震驚了整個濱河市瓤球,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌敏弃,老刑警劉巖卦羡,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡绿饵,警方通過查閱死者的電腦和手機欠肾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拟赊,“玉大人刺桃,你說我怎么就攤上這事∥睿” “怎么了虏肾?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長欢搜。 經(jīng)常有香客問我封豪,道長,這世上最難降的妖魔是什么炒瘟? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任吹埠,我火速辦了婚禮,結(jié)果婚禮上疮装,老公的妹妹穿的比我還像新娘缘琅。我一直安慰自己,他們只是感情好廓推,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布刷袍。 她就那樣靜靜地躺著,像睡著了一般樊展。 火紅的嫁衣襯著肌膚如雪呻纹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天专缠,我揣著相機與錄音雷酪,去河邊找鬼。 笑死涝婉,一個胖子當著我的面吹牛哥力,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播墩弯,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吩跋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了渔工?” 一聲冷哼從身側(cè)響起锌钮,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涨缚,沒想到半個月后轧粟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體策治,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年兰吟,在試婚紗的時候發(fā)現(xiàn)自己被綠了通惫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡混蔼,死狀恐怖履腋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惭嚣,我是刑警寧澤遵湖,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站晚吞,受9級特大地震影響延旧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜槽地,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一迁沫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捌蚊,春花似錦集畅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至窗宦,卻和暖如春赦颇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背迫摔。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工沐扳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人句占。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像躯嫉,于是被迫代替她去往敵國和親纱烘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

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

  • 由于各Linux開發(fā)廠商的不同,因此不同開發(fā)廠商的Linux版本操作細節(jié)也不一樣,今天就來說一下CentOS下JD...
    imbird閱讀 733評論 0 1
  • 由于各Linux開發(fā)廠商的不同,因此不同開發(fā)廠商的Linux版本操作細節(jié)也不一樣,今天就來說一下CentOS下JD...
    JerichoPH閱讀 712評論 0 4
  • 由于各Linux開發(fā)廠商的不同,因此不同開發(fā)廠商的Linux版本操作細節(jié)也不一樣,今天就來說一下CentOS下JD...
    wildbee58閱讀 721評論 0 1
  • 原文地址:How to Install Oracle Java JDK on Ubuntu Linux This ...
    squirel閱讀 2,018評論 1 4
  • 2017年5月10日祈餐,星期三擂啥,晴 今天的運動會兒子期盼了好久,早早的起床帆阳,早早的去了學校哺壶。那興奮勁別提了。...
    一抹微笑smil閱讀 177評論 0 0