如何在 Ubuntu 22.04 上使用 apt 安装 Java

0 股票
0
0
0
0

介绍

本指南将指导您使用 apt 安装不同版本的 Java 运行时环境 (JRE) 和 Java 开发工具包 (JDK)。您将安装 OpenJDK 以及官方的 Oracle JDK。然后,您可以选择适合您项目的版本。安装完成后,您可以使用 JDK 开发软件,或使用 Java 运行时环境运行软件。.

先决条件
  • 按照 Ubuntu 22.04 服务器初始设置指南教程,设置了一台 Ubuntu 22.04 服务器,包括非 root sudo 用户和防火墙。.

步骤 1 – 安装 Java

Java 安装包含两个主要组件。JDK 提供 Java 开发所需的基本软件工具,例如编译器和调试器。JRE 用于实际运行 Java 程序。此外,Java 的安装方式主要有两种。OpenJDK 是一个开源的 Java 实现,Ubuntu 系统自带。Oracle JDK 是 Java 的主要版本,由 Java 的开发商 Oracle 公司全面维护。.

这两个版本都得到了 Oracle 的官方认可。它们都由 Oracle 开发,但由于 OpenJDK 是开源的,因此拥有更多的社区贡献。然而,从 Java 11 开始,这两个版本在功能上已经完全相同,Oracle 提供的详细信息也已明确。选择安装哪个版本取决于您具体情况所需的许可证。此外,OpenJDK 可以选择单独安装 JRE,而 OracleJDK 则自带 JRE。.

选项 1 – 安装默认 JRE/JDK

安装 Java 的一种方法是使用 Ubuntu 自带的版本。Ubuntu 22.04 默认包含 Open JDK 11,它是 JRE 和 JDK 的开源版本。.

要安装 OpenJDK Java 版本,请先更新您的 apt 软件包列表:

sudo apt update

接下来,检查 Java 是否已安装:

java -version

如果当前未安装 Java,您将收到以下输出:

Output
Command 'java' not found, but can be installed with:
sudo apt install default-jre # version 2:1.11-72build1, or
sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2
sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1
sudo apt install openjdk-18-jre-headless # version 18~36ea-1
sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1

运行以下命令从 OpenJDK 11 安装 JRE:

sudo apt install default-jre

JRE 允许您运行几乎所有 Java 软件。.

确认安装:

java -version

您将得到类似如下的输出:

Output
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2)
OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)

除了 JRE 之外,您可能还需要 JDK 来编译和运行某些基于 Java 的软件。要安装 JDK,请运行以下命令,并同时安装 JRE:

sudo apt install default-jdk

通过检查 Java 编译器 javac 的版本来确认 JDK 是否已安装:

javac -version

您将看到以下输出:

Output
javac 11.0.14

接下来,您将学习如何安装官方的 Oracle JDK 和 JRE。.

方案二 – 安装 Oracle JDK 11

Oracle 的 Java 许可协议不允许通过软件包管理器自动安装。要安装 Oracle JDK(Oracle 官方发布的版本),您需要创建一个 Oracle 帐户,并手动下载 JDK,然后添加一个新的软件包仓库,以便使用所需的版本。之后,您可以使用 apt 工具,借助第三方安装脚本进行安装。Oracle JDK 自带 JRE,因此无需单独安装。.

您需要下载的 Oracle JDK 版本必须与安装脚本的版本匹配。要了解所需的版本,请参阅 oracle-java11-installer 页面。.

如图所示,找到 Jammy 包装:

此图中脚本版本为 11.0.13。在这种情况下,您需要 Oracle JDK 11.0.13。您的版本号可能因软件安装时间而异。.

您无需从此页面下载任何内容。您很快就会通过 apt 下载安装脚本。.

接下来,访问下载存档,找到与您需要的版本相匹配的版本。.

从列表中选择 Linux x64 压缩包 tar.gz:

您将看到一个页面,要求您接受 Oracle 许可协议。选中复选框以接受许可协议,然后单击“下载”按钮。下载将开始。下载开始前,您可能需要重新登录您的 Oracle 帐户。.

下载文件后,需要将其传输到服务器。在本地计算机上,将文件上传到服务器。在 macOS、Linux 或使用 Windows 子系统 for Linux 的 Windows 系统上,使用 scp 命令将文件传输到您的 sammy 用户主目录。以下命令假设您已将 Oracle JDK 文件保存在本地计算机的“下载”文件夹中:

scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~

文件上传完成后,返回服务器并添加第三方存储库,以帮助您安装 Oracle Java。.

首先,请输入用于验证要安装的软件的签名密钥:

sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/oracle-jdk11-installer.gpg --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

您将看到以下输出:

Output
gpg: keybox '/usr/share/keyrings/oracle-jdk11-installer.gpg' created
gpg: /tmp/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1

接下来,将该存储库添加到您的软件包源列表中:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-jdk11-installer.gpg] https://ppa.launchpadcontent.net/linuxuprising/java/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/oracle-jdk11-installer.list > /dev/null

更新您的软件包列表,以便安装新软件:

sudo apt update

安装程序将在 /var/cache/oracle-jdk11-installer-local 目录中查找您的 Oracle JDK。请创建此目录并将 Oracle JDK 归档文件移动到该目录:

sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

最后安装软件包:

sudo apt install oracle-java11-installer-local

安装程序会首先要求您接受 Oracle 许可协议。接受协议后,安装程序将提取 Java 软件包并进行安装。.

现在您将了解如何选择要使用的 Java 版本。.

步骤 2 – Java 管理

服务器上可以安装多个 Java 版本。您可以使用 update-alternatives 命令在命令行中配置默认使用的 Java 版本。.

sudo update-alternatives --config java

如果您已按照本教程安装了两个版本的 Java,则输出结果将如下所示:

Output
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:

选择要用作默认值的 Java 版本号,或按 ENTER 键保留当前设置。.

你也可以对其他 Java 命令(例如编译器 (javac))执行此操作:

sudo update-alternatives --config javac

该命令还可以用于运行以下命令:keytool、javadoc 和 jarsigner。.

步骤 3 – 设置 JAVA_HOME 环境变量

许多使用 Java 编写的程序都使用 JAVA_HOME 环境变量来指定 Java 的安装位置。.

要设置此环境变量,首先需要指定 Java 安装位置。使用 update-alternatives 命令:

sudo update-alternatives --config java

此命令将显示每个 Java 安装及其安装路径:

Output
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:

在这种情况下,安装路径如下:

  1. OpenJDK 11 位于 /usr/lib/jvm/java-11-openjdk-amd64/bin/java。.
  2. Oracle Java 位于 /usr/lib/jvm/java-11-oracle/jre/bin/java。.

复制所需安装的路径。然后使用 nano 或您喜欢的文本编辑器打开 /etc/environment 文件:

sudo nano /etc/environment

在此文件的末尾添加以下行,确保将高亮显示的路径替换为您复制的路径,并且不要包含路径中的 /bin 部分:

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

通过修改此文件,将为系统上的所有用户设置 JAVA_HOME 路径。.

保存文件并退出编辑器。.

现在重新加载此文件,将更改应用到当前会话:

source /etc/environment

检查环境变量是否已设置:

echo $JAVA_HOME

您将看到刚刚设置的路径:

Output
/usr/lib/jvm/java-11-openjdk-amd64

其他用户必须运行 source /etc/environment 命令或注销并重新登录才能应用这些设置。.

结果

在本教程中,您安装了多个 Java 版本并学习了如何管理它们。现在您可以安装 Tomcat、Jetty、Glassfish、Cassandra 或 Jenkins 等基于 Java 的软件了。.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢