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