在桌面上擁抱 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 上:
$ sudo dnf search openjdk | grep latest | cut -f1 -d':'
java-latest-openjdk-demo.x86_64
java-openjdk.i686
java-openjdk.x86_64
java-latest-openjdk-jmods.x86_64
java-latest-openjdk-src.x86_64
java-latest-openjdk.x86_64
[...]
只有當你嘗試運行的應用程序堅持要求你使用 Java 的舊版本時,你才應該看看 latest
之前的版本寒随。
在 Fedora 或類似系統(tǒng)上安裝 Java:
$ sudo dnf install java-latest-openjdk
如果你的發(fā)行版不使用 latest
標簽糠悯,則可以使用其他關(guān)鍵字,例如 default
妻往。以下是在 Debian 上搜索 OpenJDK 的信息:
$ sudo apt search openjdk | less
default-jdk
Standard Java development kit
default-jre
Standard Java runtime
openjdk-11-jdk
OpenJDK development kit (JDK)
[...]
在這種情況下互艾,default-jre
軟件包適合用戶,而 default-jdk
則適合開發(fā)人員讯泣。
例如纫普,要在 Debian 上安裝 JRE:
$ 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
中包含什么拍棕,請查看一下以找出:
$ echo $PATH
/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
文件夾:
$ mkdir ~/bin
如果它不在你的 PATH
中滔韵,請將其添加到其中:
$ echo PATH=$PATH:$HOME/bin >> ~/.bashrc
$ source ~/.bashrc
最后,將壓縮包解壓縮到你選擇的目錄中掌实。
$ 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 進行安裝:
$ sudo dnf install zulu*linux.x86_64.rpm
對于 Debian嘱腥、Ubuntu、Pop_OS 和類似發(fā)行版拘悦,請下載 DEB 軟件包并使用 Apt 安裝它:
$ 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)上的應用程序的可用版本列表:
$ alternatives --list
在 Debian 上棒呛,你必須指定可供替代的應用程序:
$ update-alternatives --list java
在 Fedora 上選擇要使系統(tǒng)將哪個版本作為默認版本:
$ sudo alternatives --config java
在 Debian 上:
$ sudo updates-alternatives --config java
你可以根據(jù)需要運行的應用程序,根據(jù)需要更改默認的 Java 版本罐农。
運行 Java 應用
Java 應用程序通常以 JAR 文件的形式分發(fā)条霜。根據(jù)你安裝 Java 的方式催什,你的系統(tǒng)可能已經(jīng)為運行 Java 應用程序配置好了涵亏,這使你只需雙擊應用程序圖標(或從應用程序菜單中選擇它)即可運行。如果必須執(zhí)行未與系統(tǒng)其余部分集成的本地 Java 安裝蒲凶,則可以直接從終端啟動 Java 應用程序:
$ 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