在Ubuntu上安装Java 17的详细指南

全面的在Ubuntu上安装Java 17的指南 - 包括OpenJDK和Oracle JDK的方法,配置默认版本以及设置JAVA_HOME。
On this page

在Ubuntu上安装Java 17的详细指南

介绍

Java 是最广泛使用的编程语言之一,以其可移植性、性能和强大的生态系统而闻名。最新的长期支持(LTS)版本是Java 17,它引入了诸如封闭类、switch 语句的模式匹配和低停顿垃圾回收等新功能。

在这个深入教程中,我们将逐步介绍在 Ubuntu 系统上安装和配置 Java 17 的整个过程。我们将涵盖以下内容:

  • 理解 OpenJDK 和 Oracle JDK 之间的区别
  • 添加官方的 Oracle PPA 软件源
  • 下载并手动安装 JDK 软件包
  • 使用 update-alternatives 设置首选的 Java 版本
  • 将 JAVA_HOME 指向正确的安装目录
  • 使用简单的 Java 程序测试安装情况

最后,您将完全安装并运行 Java 17,准备在 Ubuntu 上构建 Java 应用程序。让我们开始吧!

先决条件

在安装 Java 之前,您的 Ubuntu 系统应满足以下条件:

  • Ubuntu 20.04 或更高版本以获取最新的兼容性
  • 一个具有sudo权限的标准用户帐户
  • 具备下载软件包的互联网连接
  • 熟悉基本的 Linux 和 Bash shell 命令
  • 还建议使用以下命令更新系统软件包:
1sudo apt update && sudo apt upgrade

这将确保所有现有软件包都被修补到最新版本。

OpenJDK vs. Oracle JDK

首先需要决定安装OpenJDK还是Oracle 的 JDK。让我们了解它们的区别:

OpenJDK 是 Java SE 的免费开源实现。它由 OpenJDK 社区开发,并在 GPL 下获得许可。软件包已包含在 Ubuntu 的主要软件库中。

Oracle JDK 是 Oracle 的专有闭源 JDK。它具有更积极的发布周期,但需要接受 Oracle 的许可条款。它不在标准的 Ubuntu 软件库中。

对于个人使用和大多数开发目的,建议使用 OpenJDK。但某些企业可能要求使用 Oracle JDK。从功能和性能上看,两者几乎相同。

在本指南中,我们将介绍 OpenJDK 和 Oracle JDK 的安装方法。

安装 OpenJDK 17

可以使用apt软件包管理器轻松地从主 Ubuntu 软件库中安装 OpenJDK:

1sudo apt update
2sudo apt install openjdk-17-jdk

openjdk-17-jdk软件包包含完整的 Java 开发工具包,包括 javac 编译器、JVM、JRE 和所有库。

要验证安装的版本,请使用以下命令:

1java -version

这将打印出确认已安装 OpenJDK 17 并设置为默认 Java 版本的详细信息。

安装 Oracle JDK 17

Oracle JDK 不是主要的 Ubuntu 软件库的一部分,因此我们需要添加 Oracle 的 PPA 软件库来进行安装:

1sudo add-apt-repository ppa:linuxuprising/java

提示时,按 Enter 键继续添加 PPA。该软件库包含了最新的Oracle JDK软件包。

接下来,更新软件包索引并安装 JDK:

1sudo apt update
2sudo apt install oracle-java17-installer

在安装过程中,您需要接受 Oracle 的许可协议。

安装完成后,运行java -version确认 Oracle 17 已安装并设置为默认版本。

手动安装

您也可以手动下载和安装 Oracle JDK,而不使用 PPA 方法:

  1. Oracle 官网下载压缩的 JDK 存档。确保选择 Linux x64 版本。

  2. 使用wget命令下载.tar.gz文件,或者复制链接地址并使用浏览器下载。

  3. 创建一个目录来提取 JDK,例如/opt/jdk

    1sudo mkdir /opt/jdk
    
  4. 将存档内容提取到该目录中:

    1sudo tar xzf /path/to/jdk-17_linux-x64_bin.tar.gz -C /opt/jdk
    
  5. 如果不再需要下载的.tar.gz文件,则删除它。

JDK 现在已安装,但我们仍然需要将其设置为默认的 Java 版本。

设置默认的 Java 版本

如果系统中存在多个 Java 安装版本,您可以使用update-alternatives命令来配置系统范围内使用的 Java 版本:

1sudo update-alternatives --config java

这将显示在系统中检测到的所有 JDK 版本。输入所需默认版本的编号。

例如,要将 Oracle JDK 17 设置为系统默认版本,请从列表中选择相应的条目。

现在,当您运行java -version命令时,应该显示您配置为默认版本的版本号。

设置 JAVA_HOME 环境变量

强烈建议设置JAVA_HOME环境变量,该变量指向所需 Java 版本的基本安装目录。

许多基于 Java 的应用程序依赖于此变量来确定 Java 的安装位置。

首先,确定您想要使用的 JDK 的安装位置。对于 Ubuntu 上的 OpenJDK,通常为/usr/lib/jvm/java-17-openjdk-amd64

然后,使用 sudo 或 root 访问权限打开/etc/environment文件,并添加该路径:

1sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

保存并关闭文件,然后重新加载它:

1source /etc/environment

最后,使用echo命令验证变量是否已设置:

1echo $JAVA_HOME

这应该打印您指定的路径。

测试 Java 安装情况

为了快速测试并验证一切正常工作,我们可以编写一个简单的“Hello World”Java 程序:

1public class HelloWorld {
2
3  public static void main(String[] args) {
4    System.out.println("Hello, World!");
5  }
6
7}

将其保存为 HelloWorld.java,然后进行编译和运行:

1javac HelloWorld.java
2java HelloWorld

如果您看到打印的“Hello World!”消息,则表示 Java 已安装并正常工作!

结论

在这个全面的指南中,我们介绍了在 Ubuntu 上安装 Java 17 的各种方法,配置默认的运行时版本,设置 JAVA_HOME 并测试安装情况。

您现在已经准备好在 Ubuntu 上开始开发 Java 应用程序了。这些步骤也可以适应安装旧版本或新版本的 Java。