如何從 Linux 發(fā)行版的倉(cāng)庫(kù)中安裝 Java
無(wú)論你喜歡哪個(gè)發(fā)行版和包管理器,都可以都很容易地在你的 Linux 系統(tǒng)上安裝 Java。
把 Java 安裝到你的 Linux 桌面上有多種方法。一個(gè)明顯的方式是使用你的 Linux 發(fā)行版中提供的軟件包。請(qǐng)注意,這并不適合所有人。例如,有些用戶可能需要一個(gè)非常具體的 Java 版本。
在你開(kāi)始之前,你必須確定你需要“哪種 Java”。你是否只需要運(yùn)行一些 .class 文件或 .jar 文件?還是你正在編寫(xiě)一些需要編譯的代碼?
就我而言,我運(yùn)行的大部分 Java 都是我自己(至少部分)編寫(xiě)的 Java,所以安裝完整的 Java 開(kāi)發(fā)工具包(或稱 JDK)總是有意義的,它包含了 Java 編譯器、庫(kù)和一些非常有用的工具。當(dāng)然,在這里,我們更傾向于使用開(kāi)源的 JDK,稱為 OpenJDK。
由于我主要在 Ubuntu Linux 發(fā)行版上工作,我的軟件包管理器是 apt。我可以用 apt 來(lái)查找哪些 OpenJDK 包是可用的:
- apt list OpenJDK\*
這個(gè)命令的輸出看起來(lái)像這樣:
- Listing... Done
- openjdk-11-dbg/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-dbg/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-demo/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-demo/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-doc/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 11.0.11+9-0ubuntu2 all
- openjdk-11-jdk-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-jdk-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-jdk/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-jdk/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-jre-dcevm/hirsute 11.0.10+1-1 amd64
- openjdk-11-jre-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-jre-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-jre-zero/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-jre-zero/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-jre/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
- openjdk-11-jre/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
- openjdk-11-source/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 11.0.11+9-0ubuntu2 all
- openjdk-15-dbg/hirsute 15.0.3+3-1 amd64
- openjdk-15-dbg/hirsute 15.0.3+3-1 i386
- openjdk-15-demo/hirsute 15.0.3+3-1 amd64
- ...
- openjdk-8-jre/hirsute-updates,hirsute-security 8u292-b10-0ubuntu1 i386
- openjdk-8-source/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 8u292-b10-0ubuntu1 all
我在上面用 ... 省略了不少行。
事實(shí)證明,即使限制在 OpenJDK 中,我仍然有很多選擇:
- 不同的架構(gòu)(在我的例子中,i386 還是 amd64)。
- 不同的 Java 版本(就我而言,有 8、11、15、16、17 等)。
- 純粹的 OpenJDK 或無(wú)頭版本。
- Java 運(yùn)行時(shí)環(huán)境(JRE)。
- 用于調(diào)試、演示,以及是否包含源代碼等。
同樣,在我的情況中,我主要對(duì)純粹的普通 OpenJDK 感興趣。
假設(shè)我想為我的 amd64 架構(gòu)安裝 Java 11 版本的普通 OpenJDK,我可以輸入:
- sudo apt install -a=amd64 openjdk-11-jdk
幾分鐘后,我就可以編譯、運(yùn)行、調(diào)試和打包我的 Java 代碼了。
注意,很有可能需要同時(shí)安裝多個(gè)版本的 Java,有時(shí)甚至是必要的。在 Ubuntu 中,有一個(gè)有用的工具,叫做 update-java-alternatives,它可以 顯示并配置在使用哪個(gè) Java 環(huán)境。
那些使用不同 Linux 發(fā)行版的人,一般來(lái)說(shuō),可以采取類(lèi)似的方法。其他的幾個(gè)發(fā)行版(如 Debian 和 Mint)也使用 apt ,盡管可用的軟件包可能不同。發(fā)行版可能使用不同的軟件包管理器。例如, Fedora 安裝 Java 的文檔頁(yè)面 顯示了如何使用 Fedora dnf 包管理器來(lái)處理安裝。首先,為了顯示可用的版本,輸入:
- dnf search openjdk
接下來(lái),要安裝完整的開(kāi)發(fā) x86_64 架構(gòu)版本,請(qǐng)輸入:
- sudo dnf install java-11-openjdk-devel.x86_64
同樣地,F(xiàn)edora 提供了 alternatives 工具來(lái)顯示和配置 Java 環(huán)境。
再比如,很棒的 Arch Linux 維基顯示對(duì)應(yīng)的軟件包是 jdk11-openjdk。該維基還解釋了許多在 Arch 中使用 Java 的其他重要細(xì)節(jié),比如使用 archlinux-java 工具來(lái)顯示安裝了哪些 Java 環(huán)境或選擇一個(gè)不同的默認(rèn)環(huán)境。Arch 使用一個(gè)叫 pacman 的包管理器,它也有文檔 在 Arch Linux 維基上。
不管你喜歡哪個(gè)發(fā)行版和軟件包管理器,在你的 Linux 系統(tǒng)上獲得 Java 是很容易的。當(dāng)然,在安裝之前,要考慮版本和功能。還要記住,在同一臺(tái)電腦上有管理兩個(gè)或多個(gè) Java 版本的方法。我的大多數(shù)例子都使用了 apt,但也要記得可以選擇使用 dnf。