在Ubuntu 20.04上使用Apt安装Java的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

介绍

Java 和 JVM(Java 虚拟机)是许多软件的必备组件,包括 Tomcat、Jetty、Glassfish、Cassandra 和 Jenkins。

在本指南中,您将使用 apt 安装各种版本的 Java 运行环境(JRE)和 Java 开发工具包(JDK)。您将安装 OpenJDK 以及来自 Oracle 的官方 JDK。然后,您将选择要在项目中使用的版本。完成后,您将能够使用 JDK 开发软件或使用 Java 运行时来运行软件。

先决条件

要按照本教程操作,您需要:

  • 通过遵循 Ubuntu 20.04 初始服务器设置指南教程设置好的一个 Ubuntu 20.04 服务器,包括一个具有 sudo 权限的非 root 用户和一个防火墙。

安装默认的 JRE/JDK

安装 Java 的最简单选项是使用 Ubuntu 打包的版本。默认情况下,Ubuntu 20.04 包含 Open JDK 11,这是 JRE 和 JDK 的开源变体。

要安装此版本,首先更新软件包索引:

sudo apt update

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

java -version

如果 Java 尚未安装,您将看到以下输出:


Command 'java' not found, but can be installed with:

sudo apt install openjdk-11-jre-headless  # version 11.0.11+9-0ubuntu2~20.04, or
sudo apt install default-jre              # version 2:1.11-72
sudo apt install openjdk-13-jre-headless  # version 13.0.7+5-0ubuntu1~20.04
sudo apt install openjdk-16-jre-headless  # version 16.0.1+9-1~20.04
sudo apt install openjdk-8-jre-headless   # version 8u292-b10-0ubuntu1~20.04

执行以下命令以安装默认的 Java 运行环境(JRE),这将安装来自 OpenJDK 11 的 JRE:

sudo apt install default-jre

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

使用以下命令验证安装:

java -version

您将看到类似以下的输出:


openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing))

您可能需要 Java 开发工具包(JDK)以及 JRE,以便编译和运行一些特定的基于 Java 的软件。要安装 JDK,请执行以下命令,这也将安装 JRE:

sudo apt install default-jdk

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

javac -version

您将看到以下输出:


javac 11.0.11

接下来,让我们看看如何安装 Oracle 的官方 JDK 和 JRE。

安装 Oracle JDK 11

Oracle Java 的许可协议不允许通过软件包管理器自动安装。要安装 Oracle JDK(Oracle 分发的官方版本),您必须创建一个 Oracle 账户,并手动下载 JDK 以添加新的软件包存储库,以便使用第三方安装脚本来使用 apt 安装它。

您需要下载的 Oracle JDK 版本必须与安装程序脚本的版本匹配。要找出您需要的版本,请访问 oracle-java11-installer 页面。

找到适用于 Focal 的软件包,如下图所示:

!Ubuntu 20.04 的安装程序软件包

在此图像中,脚本的版本为 11.0.7。在这种情况下,您将需要 Oracle JDK 11.0.7。根据安装软件的时间,您的版本号可能会有所不同。

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

然后访问下载页面,找到与您需要的版本匹配的版本。

!Oracle Java 11

单击 JDK Download 按钮,您将进入显示可用版本的屏幕。单击 Linux 的 .tar.gz 软件包。

!Linux 下载

您将看到一个屏幕,询问您是否接受 Oracle 许可协议。选择复选框以接受许可协议,然后按 Download 按钮。下载将开始。在下载开始之前,您可能需要再次登录到您的 Oracle 账户。

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

[本地环境]
scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

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

安装 software-properties-common 软件包,它会将 add-apt-repository 命令添加到您的系统中:

sudo apt install software-properties-common

接下来,导入用于验证即将安装的软件的签名密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

您将看到以下输出:


gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg:               imported: 1

然后使用 add-apt-repository 命令将存储库添加到您的软件包源列表中:

sudo add-apt-repository ppa:linuxuprising/java

您将看到此消息:


 Oracle Java 11 (LTS) and 16 installer for Ubuntu (21.04, 20.10, 20.04, 18.04, 16.04 and 14.04), Pop!_OS, Linux Mint and Debian.

Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java, so a working Internet connection is required.

The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java

Created for users of https://www.linuxuprising.com/

Installation instructions (with some tips), feedback, suggestions, bug reports etc.:

. . .

Press [ENTER] to continue or Ctrl-c to cancel adding it.

按下 ENTER 继续安装。您可能会看到关于 no valid OpenPGP data found 的消息,但您可以放心地忽略它。

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

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.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

最后,安装软件包:

sudo apt install oracle-java11-installer-local

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

现在让我们看看如何选择要使用的 Java 版本。

管理 Java

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

sudo update-alternatives --config java

如果您在本教程中安装了两个版本的 Java,则输出如下所示:

有 2 个选择可用于替代 java (提供 /usr/bin/java)。

  选择        路径                                         优先级   状态
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      自动模式
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      手动模式
* 2            /usr/lib/jvm/java-11-oracle/bin/java          1091      手动模式

按 <enter> 保留当前选择[*],或键入选择的编号:

选择与要使用的 Java 版本相关联的数字,或按 ENTER 保留当前设置。

您还可以对其他 Java 命令执行此命令,例如编译器 (javac):

sudo update-alternatives --config javac

可以对其他命令运行此命令,例如 keytooljavadocjarsigner

设置 JAVA_HOME 环境变量

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

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

sudo update-alternatives --config java

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

有 2 个选择可用于替代 java (提供 /usr/bin/java)。

  选择        路径                                         优先级   状态
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      自动模式
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      手动模式
* 2            /usr/lib/jvm/java-11-oracle/bin/java          1091      手动模式

按 <enter> 保留当前选择[*],或键入选择的编号:

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

  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

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

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

其他用户需要执行命令 source /etc/environment 或注销并重新登录以应用此设置。

结论

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

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白如意i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值