如何在 Ubuntu 上安装 Java – wiki基地


在 Ubuntu 上安装 Java:一份全面、深入的指南

Java 是一种广泛使用的编程语言和平台,为各种应用程序提供了强大的基础,从企业级后端系统到移动应用(通过 Android 开发)、桌面软件,再到大型数据处理和科学计算。对于在 Ubuntu Linux 环境下进行 Java 开发、运行 Java 应用程序或使用依赖 Java 的工具(如 Maven、Gradle、Jenkins、Eclipse 等)的用户来说,正确安装和配置 Java 开发工具包(JDK)是必不可少的第一步。

本文将为您提供一份全面、深入的指南,详细介绍在 Ubuntu 系统上安装 Java 的各种方法,包括推荐的 OpenJDK 和可选的 Oracle JDK,以及如何配置环境变量、管理多个版本和解决常见问题。我们将努力让每一个步骤都清晰明了,即使是 Linux 新手也能轻松跟随。

了解 Java 的基本概念:JRE、JDK 和 JVM

在深入安装过程之前,理解一些基本概念非常有帮助:

  1. JVM (Java Virtual Machine):Java 虚拟机是 Java 平台的核心。它是一个规范,也是一个软件实现,负责执行 Java 字节码。Java 的“一次编写,到处运行”的跨平台特性正是通过 JVM 实现的。编译后的 Java 代码并不是直接运行在操作系统或硬件上,而是运行在 JVM 上。
  2. JRE (Java Runtime Environment):Java 运行时环境是运行 Java 应用程序所需的环境集合。它包含了 JVM、Java 核心类库(如 java.lang, java.util, java.io 等)以及一些支持文件。如果您只需要运行 Java 应用程序,而不需要进行 Java 开发,JRE 就足够了。
  3. JDK (Java Development Kit):Java 开发工具包是提供给 Java 开发人员使用的完整工具集。它包含了 JRE 的所有内容,此外还包括编译器 (javac)、调试器 (jdb)、归档工具 (jar)、文档生成器 (javadoc) 等开发工具。如果您计划编写、编译或调试 Java 代码,则必须安装 JDK。

简而言之: JRE 用于运行 Java 程序,JDK 用于开发 Java 程序(包含 JRE)。JVM 是 JRE 的一部分,负责执行字节码。

OpenJDK 与 Oracle JDK:选择哪一个?

在 Linux 环境下,安装 Java 时通常会面临两种主要的 JDK 分发版本选择:OpenJDK 和 Oracle JDK。

  1. OpenJDK (Open Java Development Kit):这是 Java SE (Standard Edition) 的官方开源实现。它是 Java 平台大多数主要版本的基石。OpenJDK 是完全免费且开源的,由 Oracle、Red Hat、IBM、SAP 等公司以及开源社区共同维护和开发。

    • 优点:
      • 完全免费且开源,没有许可限制。
      • 通常通过 Linux 发行版的标准包管理器(如 Ubuntu 的 apt)提供,安装和更新非常方便。
      • 是 Ubuntu 推荐和默认安装的 Java 版本。
      • 与 Oracle JDK 在功能和性能上非常接近。
    • 缺点:
      • 发布周期可能与 Oracle JDK 略有不同。
      • 某些特定、非标准的工具或类库可能仅存在于 Oracle JDK 中(这种情况越来越少见)。
      • 商业支持通常由第三方(如 Red Hat 的 OpenJDK)提供,而非 Oracle。
  2. Oracle JDK:这是 Oracle 官方发布的 Java SE 实现。在过去,Oracle JDK 曾是许多用户的首选,尤其因为它包含了某些额外的商业特性和更及时的更新。然而,自 Java SE 11 起,Oracle 改变了其许可模型,使得 Oracle JDK 的新版本(非长期支持 LTS 版本)在生产环境中用于商业用途时需要付费订阅。Oracle 也提供了免费的 OpenJDK 版本(通常命名为 Oracle OpenJDK),但这与传统的 Oracle JDK 是不同的。

    • 优点:
      • 由 Oracle 直接维护和支持(付费订阅)。
      • 可能包含一些 Oracle 特有的增强或工具(虽然现在大部分已并入 OpenJDK)。
    • 缺点:
      • 新的 LTS 版本(如 Java 17, 21)的 Oracle JDK 除非获得特定许可,否则在生产商业用途中需要付费。
      • 安装通常不如 OpenJDK 方便(可能需要手动下载或使用第三方 PPA)。
      • 非 LTS 版本更新后,老版本很快就会停止公共免费更新。

推荐: 对于大多数 Ubuntu 用户,特别是进行开发、运行开源应用或学习目的,强烈推荐安装 OpenJDK。它免费、开源、通过 apt 包管理器易于安装和更新,并且功能上与 Oracle JDK 几乎没有差异。只有在极少数情况下,您的应用程序明确要求使用 Oracle JDK,并且您已了解并接受其许可条款时,才考虑安装 Oracle JDK。

本文将主要介绍通过 apt 安装 OpenJDK 的方法,这是最标准和推荐的方式。同时,我们也会涵盖如何安装 Oracle JDK 的几种方法,以备不时之需。

安装前的准备工作

在开始安装之前,请确保满足以下条件:

  1. Ubuntu 系统:本文基于 Ubuntu Desktop 或 Server 版本,版本号通常不低于 18.04 LTS,最好是当前或上一个 LTS 版本(如 20.04 LTS, 22.04 LTS)。
  2. 终端访问:您需要通过终端(Terminal)执行命令。在 Ubuntu Desktop 上,可以通过应用程序菜单找到“终端”;在 Server 版本上,通常已经通过 SSH 连接到终端。
  3. sudo 权限:您需要拥有执行 sudo 命令的权限,以便安装软件和修改系统文件。
  4. 互联网连接:安装过程需要从 Ubuntu 的软件仓库或外部源下载文件。

准备就绪后,打开您的终端。

方法一:使用 APT 安装 OpenJDK(推荐)

这是在 Ubuntu 上安装 Java 最简单、最推荐的方法。通过 apt 包管理器安装的 OpenJDK 版本与您的 Ubuntu 版本兼容,并能方便地通过系统更新进行维护。

首先,始终建议在安装新软件包之前更新您的包列表:

bash
sudo apt update

这条命令会从 Ubuntu 的软件仓库下载最新的软件包信息,确保您能找到可用的最新版本和依赖关系。

选项 1.1:安装默认 JDK (通常是最新的 LTS 版本)

Ubuntu 通常提供一个 default-jdk 软件包,它是一个元包(meta-package),指向当前推荐的 OpenJDK 版本,通常是最新的长期支持 (LTS) 版本。对于许多用户来说,安装这个默认版本就足够了。

执行以下命令安装默认 JDK:

bash
sudo apt install default-jdk

系统会提示您确认安装以及将要安装的依赖包列表。按下 Y 并回车确认。

安装过程会自动下载所需的软件包并进行安装。

选项 1.2:安装特定版本的 OpenJDK

有时,您可能需要安装特定版本的 Java,例如为了兼容某个旧项目或测试新的语言特性。Ubuntu 的仓库通常包含多个 OpenJDK 版本,特别是 LTS 版本(如 11, 17, 21)以及一些较新的非 LTS 版本。

要查看可用的 OpenJDK 版本,可以使用 apt search 命令:

bash
apt search openjdk | grep -E '^(openjdk-([0-9]+|[^/]+)-jdk|default-jdk)'

这个命令会搜索包含 “openjdk” 的软件包,并使用 grep 过滤出常见的 JDK 包名,方便您查看。输出可能会是这样的(具体版本和描述可能因您的 Ubuntu 版本和仓库配置而异):

“`
default-jdk/jammy,jammy 2:11-72build2 all
Standard Java or Java compatible Development Kit

openjdk-11-jdk/jammy-updates,jammy-security 11.0.23+9-1ubuntu1~22.04.1 amd64
OpenJDK Development Kit (JDK)

openjdk-17-jdk/jammy-updates,jammy-security 17.0.11+9-1ubuntu2~22.04.1 amd64
OpenJDK Development Kit (JDK)

openjdk-21-jdk/jammy-updates,jammy-security 21.0.3+9-1ubuntu1~22.04.1 amd64
OpenJDK Development Kit (JDK)

openjdk-8-jdk/jammy 8u402-ga-2ubuntu1~22.04 amd64
OpenJDK Development Kit (JDK)

“`

从列表中找到您需要的版本(例如 openjdk-17-jdkopenjdk-21-jdk),然后使用 sudo apt install 命令安装:

安装 OpenJDK 17:

bash
sudo apt install openjdk-17-jdk

安装 OpenJDK 21:

bash
sudo apt install openjdk-21-jdk

您可以根据需要安装一个或多个版本。

注意: openjdk-<version>-jdk 软件包通常会依赖于相应的 openjdk-<version>-jre 软件包,因此安装 JDK 时会自动安装 JRE。如果您只需要 JRE,可以安装 openjdk-<version>-jre 软件包。

验证 OpenJDK 安装

安装完成后,可以通过运行 javajavac 命令来验证 Java 是否已成功安装并配置:

bash
java -version
javac -version

java -version 命令会显示当前系统中默认使用的 JRE 版本信息,例如:

openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+9-Ubuntu-1)
OpenJDK 64-Bit Server VM (build 17.0.11+9-Ubuntu-1, mixed mode, sharing)

javac -version 命令会显示当前系统中默认使用的 Java 编译器 (JDK) 版本信息,例如:

javac 17.0.11

如果这两个命令都能正确显示版本信息,说明您的 OpenJDK 已通过 apt 成功安装并配置在系统的 PATH 环境变量中,可以在任何位置执行。

方法二:安装 Oracle JDK

如前所述,Oracle JDK 的许可模型使其在商业生产用途中需要付费。然而,出于特定需求或测试目的,您可能仍需要安装它。安装 Oracle JDK 通常比 OpenJDK 复杂,因为它不像 OpenJDK 那样默认包含在 Ubuntu 的官方仓库中。

安装 Oracle JDK 的主要方法有两种:手动下载和安装,或者使用第三方 PPA。

选项 2.1:手动下载和安装 Oracle JDK

这种方法需要您从 Oracle 官方网站下载 JDK 安装包,然后手动将其放置在系统中并进行配置。

  1. 下载 JDK 安装包:

    • 访问 Oracle Java 下载页面 (https://www.oracle.com/java/technologies/downloads/)。
    • 选择您需要的 Java SE 版本(请注意其许可条款)。
    • 在 Linux 部分,选择适合您系统架构的 .tar.gz 压缩包。通常,对于大多数现代 Ubuntu 系统,您需要的是 x64 (64-bit) 版本。
    • 您可能需要登录 Oracle 账户才能下载。
    • 下载文件到您的计算机上,例如下载到 ~/Downloads 目录。文件命名类似于 jdk-xx_linux-x64_bin.tar.gz
  2. 解压并移动文件:

    • 打开终端。
    • 切换到您下载文件的目录:
      bash
      cd ~/Downloads
    • 解压下载的 .tar.gz 文件。请将 <downloaded_file.tar.gz> 替换为您下载的实际文件名:
      bash
      tar -xzf <downloaded_file.tar.gz>

      这会在当前目录解压出一个文件夹,名称类似于 jdk-xx
    • 为了系统范围的使用,建议将解压后的文件夹移动到一个标准位置,例如 /opt/sudo 是必需的,因为 /opt/ 是系统目录:
      bash
      sudo mv jdk-<version> /opt/

      请将 jdk-<version> 替换为您解压出的实际文件夹名称(例如 jdk-21)。
  3. 使用 update-alternatives 配置系统使用该 JDK:
    Ubuntu 使用 update-alternatives 系统来管理不同命令的多个版本(如 java, javac 等)。您需要将手动安装的 Oracle JDK 注册到此系统中,以便系统能够识别并切换到它。

    对于您安装的 Oracle JDK 路径(例如 /opt/jdk-<version>),您需要为 javajavac 命令创建替代选项。请将 /opt/jdk-<version> 替换为您实际的 JDK 路径,<priority> 设置一个优先级数值(数字越大优先级越高,例如 100 或更大,以高于 OpenJDK 的默认优先级):

    “`bash
    sudo update-alternatives –install “/usr/bin/java” “java” “/opt/jdk-/bin/java” sudo update-alternatives –install “/usr/bin/javac” “javac” “/opt/jdk-/bin/javac” sudo update-alternatives –install “/usr/bin/javadoc” “javadoc” “/opt/jdk-/bin/javadoc” sudo update-alternatives –install “/usr/bin/jar” “jar” “/opt/jdk-/bin/jar”

    您可以根据需要添加其他 Java 命令,如 jdb, javap 等

    “`

    示例(假设路径是 /opt/jdk-21,优先级是 1000):

    bash
    sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk-21/bin/java" 1000
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/jdk-21/bin/javac" 1000
    sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" "/opt/jdk-21/bin/javadoc" 1000
    sudo update-alternatives --install "/usr/bin/jar" "jar" "/opt/jdk-21/bin/jar" 1000

    这些命令会将您的 Oracle JDK 中的各个可执行文件注册为系统的替代选项。如果您设置的优先级高于其他已安装的 Java 版本,系统会自动切换到您的 Oracle JDK。

    如果您需要手动切换当前使用的 Java 版本,可以使用以下命令:

    “`bash
    sudo update-alternatives –config java
    sudo update-alternatives –config javac

    其他命令如 javadoc, jar 等也一样

    “`
    这会弹出一个交互式菜单,列出所有已注册的 Java 版本,您可以输入对应序号来选择。

  4. 验证 Oracle JDK 安装:
    再次运行 java -versionjavac -version 命令,确认系统正在使用您刚刚安装的 Oracle JDK:

    bash
    java -version
    javac -version

    输出应该显示 Oracle JDK 的版本信息。

手动安装方法的优点是您可以完全控制安装的位置和版本,但缺点是需要更多手动步骤,并且未来的更新需要您重复下载和替换过程。

选项 2.2:使用第三方 PPA 安装 Oracle JDK

一些第三方维护者提供了包含 Oracle JDK 安装包的 PPA(Personal Package Archive),通过 PPA 可以像使用 apt 安装其他软件一样安装 Oracle JDK,并且可以方便地获取更新。

重要提示: 使用第三方 PPA 存在一定的安全风险,因为软件包不是由 Ubuntu 官方维护。请确保您信任该 PPA 的来源。常用的 Oracle Java PPA 之一是 linuxuprising/java

  1. 添加 PPA 到系统:
    打开终端,执行以下命令添加 PPA。请注意,不同的 Java 版本可能需要不同的 PPA 或不同的软件包名称。以安装 Oracle JDK 17 或 21 为例(这个 PPA 通常包含多个 Oracle JDK 版本):

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

    按照提示按下回车确认添加。

  2. 更新包列表:
    添加 PPA 后,需要再次更新您的包列表,以便系统能够识别新仓库中的软件包:

    bash
    sudo apt update

  3. 安装 Oracle JDK:
    现在,您可以使用 apt install 命令安装 Oracle JDK。软件包名称通常遵循 oracle-java<version>-installer 的格式。

    安装 Oracle JDK 17:

    bash
    sudo apt install oracle-java17-installer

    安装 Oracle JDK 21:

    bash
    sudo apt install oracle-java21-installer

    安装过程中,您可能需要同意 Oracle 的许可协议。阅读协议内容(通常在终端中显示),然后根据提示进行确认。

  4. 设置默认 Java 版本 (可选):
    如果您安装了多个 Java 版本,PPA 安装程序可能会询问您是否将其设置为默认版本,或者您可以使用 update-alternatives 命令手动切换:

    bash
    sudo update-alternatives --config java
    sudo update-alternatives --config javac

    选择您希望设置为默认的 Oracle JDK 版本对应的序号。

  5. 验证 Oracle JDK 安装:
    运行 java -versionjavac -version 命令验证安装:

    bash
    java -version
    javac -version

    输出应该显示您通过 PPA 安装的 Oracle JDK 版本信息。

使用 PPA 安装 Oracle JDK 的优点是安装和更新比较方便,但缺点是依赖于第三方维护者,并且您仍然需要了解 Oracle 的许可条款。

管理多个 Java 版本

如果您在系统中安装了多个 Java 版本(例如 OpenJDK 11、OpenJDK 17 和 Oracle JDK 21),您可以使用 update-alternatives 工具来轻松地在它们之间切换默认版本。

执行以下命令:

bash
sudo update-alternatives --config java

系统会列出所有已注册为 java 命令的替代项,并显示每个选项的路径、优先级以及当前哪个是默认选项(标有星号 *)。

“`
There are 3 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status

  • 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
    1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
    2 /opt/jdk-21/bin/java 1000 manual mode
    3 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode

Press to keep the current choice[*], or type selection number:
“`

输入您想要设置为默认版本的序号,然后按回车。

对于 javac 命令和其他 Java 相关命令(如 javadoc, jar),您也需要执行相同的步骤来确保它们与选定的 java 版本匹配:

“`bash
sudo update-alternatives –config javac
sudo update-alternatives –config javadoc
sudo update-alternatives –config jar

…等等

“`

提示: 通常情况下,将 javajavac 指向同一个 JDK 安装目录下的对应可执行文件是正确的做法。当您使用 apt 安装 OpenJDK 时,update-alternatives 通常会自动配置这些关联。手动安装或使用 PPA 时,可能需要手动管理。

设置 JAVA_HOME 环境变量

许多 Java 应用程序、构建工具(如 Maven、Gradle、Ant)和 IDE(如 Eclipse、IntelliJ IDEA)需要一个名为 JAVA_HOME 的环境变量来确定 Java 的安装路径。即使您已经将 javajavac 添加到系统的 PATH 中,某些工具仍然依赖于 JAVA_HOME

JAVA_HOME 环境变量应该指向 JDK 的根安装目录,而不是 bin 目录。例如,如果您的 JDK 安装在 /usr/lib/jvm/java-17-openjdk-amd64/opt/jdk-21,那么 JAVA_HOME 的值就应该是 /usr/lib/jvm/java-17-openjdk-amd64/opt/jdk-21

查找 Java 安装路径

您可以通过多种方式找到当前默认 Java 版本或特定 Java 版本的安装路径:

  1. 使用 update-alternatives
    bash
    sudo update-alternatives --display java

    在输出中找到当前链接指向的实际文件路径(例如 /usr/lib/jvm/java-17-openjdk-amd64/bin/java),然后去掉末尾的 /bin/java,剩下的就是 JDK 的根路径。

  2. 使用 readlinkwhich (针对当前 PATH 中的 Java):
    bash
    readlink -f $(which java)

    这个命令会打印出当前 java 命令执行文件的实际路径(可能会经过多个符号链接)。输出可能是 /usr/lib/jvm/java-17-openjdk-amd64/bin/java. 同样,去掉 /bin/java 就是根路径。

  3. 直接查看常见安装位置:
    通过 apt 安装的 OpenJDK 通常位于 /usr/lib/jvm/ 目录下。手动安装或 PPA 安装的 Oracle JDK 可能在 /opt/ 或其他地方。您可以直接查看这些目录。

设置 JAVA_HOME

为了让 JAVA_HOME 永久生效,您需要将其添加到 shell 的配置文件中。对于大多数使用 Bash 的用户,这通常是 ~/.bashrc~/.profile 文件。如果您使用 Zsh,则是 ~/.zshrc

建议添加到 ~/.bashrc 文件,因为它是交互式 shell 会话每次启动时都会执行的文件。

  1. 打开配置文件:
    使用文本编辑器打开 ~/.bashrc 文件。例如,使用 nano 编辑器:
    bash
    nano ~/.bashrc

    或者使用图形界面编辑器:
    bash
    gedit ~/.bashrc

  2. 添加或修改 JAVA_HOME 行:
    在文件的末尾添加以下行,将 <your_jdk_path> 替换为您找到的 Java JDK 根路径(例如 /usr/lib/jvm/java-17-openjdk-amd64/opt/jdk-21):

    “`bash

    Set JAVA_HOME environment variable

    export JAVA_HOME=

    Add JAVA_HOME/bin to PATH (optional but often useful)

    export PATH=$PATH:$JAVA_HOME/bin
    ``
    第一行设置了
    JAVA_HOME变量。第二行(可选但推荐)将$JAVA_HOME/bin目录添加到您的 PATH 环境变量中,这样即使不通过update-alternatives,系统也能找到javajavac` 等命令。

  3. 保存文件:
    如果您使用的是 nano,按下 Ctrl+X,然后按下 Y 确认保存,再按回车。如果您使用的是 gedit,点击保存按钮并关闭窗口。

  4. 使更改生效:
    您需要重新加载 .bashrc 文件,或者关闭并重新打开终端会话,以使更改生效:
    bash
    source ~/.bashrc

  5. 验证 JAVA_HOME:
    执行以下命令检查 JAVA_HOME 变量是否已正确设置:
    bash
    echo $JAVA_HOME

    输出应该显示您设置的 JDK 根路径。

现在,依赖 JAVA_HOME 环境变量的应用程序和工具应该能够找到您的 Java 安装了。

重要提示: 如果您安装了多个 Java 版本并经常切换默认版本,手动设置 JAVA_HOME 到一个固定路径可能会导致不一致。一种更高级的方法是编写脚本或使用更复杂的配置来让 JAVA_HOME 动态地指向当前 update-alternatives 选择的 Java 版本路径。但这超出了基础安装的范围,对于大多数用户来说,为主要使用的 JDK 版本设置固定的 JAVA_HOME 是足够的。如果您需要经常切换且依赖 JAVA_HOME,考虑使用 SDKMAN! 等工具来管理多个 JDK 版本,它们会自动处理 JAVA_HOME 的切换。

卸载 Java

如果您需要卸载已安装的 Java 版本,可以使用 apt remove 命令。

  1. 卸载通过 apt 安装的 OpenJDK 或 Oracle JDK (如果通过 PPA 安装):
    使用 apt remove --purge 命令来卸载软件包及其配置文件。将 <package_name> 替换为相应的软件包名称(例如 default-jdk, openjdk-11-jdk, oracle-java17-installer 等)。

    bash
    sudo apt remove --purge <package_name>

    例如,卸载 OpenJDK 11:
    bash
    sudo apt remove --purge openjdk-11-jdk

    卸载默认 JDK:
    bash
    sudo apt remove --purge default-jdk

  2. 清理手动安装的 Oracle JDK:
    如果您手动安装了 Oracle JDK:

    • 移除您手动复制的 JDK 目录(例如 /opt/jdk-<version>):
      bash
      sudo rm -rf /opt/jdk-<version>
    • 使用 update-alternatives --remove 命令从系统中移除注册的替代项。请将 <name><path> 替换为注册时使用的名称和路径:
      bash
      sudo update-alternatives --remove java /opt/jdk-<version>/bin/java
      sudo update-alternatives --remove javac /opt/jdk-<version>/bin/javac
      # ... 对其他注册的命令重复此步骤
    • 从您的 shell 配置文件(如 ~/.bashrc)中删除或注释掉之前添加的 JAVA_HOME 和 PATH 相关的行。

卸载后,再次运行 java -versionjavac -version 可能会显示“command not found”,或者如果还有其他 Java 版本存在,系统会切换到下一个优先级最高的版本。

常见问题及故障排除

  • java: command not foundjavac: command not found

    • 原因: Java 没有正确安装,或者 Java 的可执行文件目录(/bin)没有包含在系统的 PATH 环境变量中,或者 update-alternatives 没有正确配置。
    • 解决方法:
      • 确认您已成功执行了 sudo apt install ... 或其他安装步骤,并且没有报错。
      • 运行 sudo update-alternatives --config java 查看 Java 是否已注册,以及当前选择的版本是否正确。
      • 检查您的 PATH 环境变量是否包含 /usr/bin(通常是默认的),或者是否包含了您的 Java 安装路径下的 bin 目录(如果手动设置了 PATH)。使用 echo $PATH 查看当前 PATH。
      • 如果通过手动安装并设置了 .bashrc,请确认执行了 source ~/.bashrc 或重新打开了终端。
  • java -version 显示的版本不是我想要的:

    • 原因: 系统中安装了多个 Java 版本,并且 update-alternatives 的默认选择不是您期望的版本。
    • 解决方法: 使用 sudo update-alternatives --config java 手动选择您想要设置为默认的版本。同样,对 javac 等命令也进行配置。
  • 设置了 JAVA_HOME 但应用程序仍然找不到 Java:

    • 原因: JAVA_HOME 变量没有在应用程序运行的环境中正确导出,或者应用程序查找 JAVA_HOME 的方式不同。
    • 解决方法:
      • 确认 echo $JAVA_HOME 在当前终端会话中显示正确的路径。如果不是,重新加载 .bashrc (source ~/.bashrc) 或重新打开终端。
      • 确保应用程序或脚本是在设置了 JAVA_HOME 的同一个终端会话中启动的,或者它们在启动时会加载用户的环境变量。
      • 有些应用程序可能需要额外的配置来指定 Java 路径。查阅该应用程序的文档。
  • 安装时提示权限不足:

    • 原因: 您尝试执行需要 root 权限的命令,但没有使用 sudo
    • 解决方法: 在命令前加上 sudo
  • 使用 PPA 安装时提示找不到软件源或软件包:

    • 原因: PPA 地址错误,或者添加 PPA 后没有执行 sudo apt update 更新包列表。
    • 解决方法: 仔细检查 PPA 地址是否正确。添加 PPA 后务必运行 sudo apt update

总结

在 Ubuntu 上安装 Java 是进行许多开发和运行环境配置的第一步。通过本文,您应该已经了解了以下关键信息:

  • JRE 用于运行 Java 应用程序,JDK 用于开发 Java 应用程序。
  • 对于大多数用户,使用 apt 包管理器安装 OpenJDK 是最简单、推荐且符合 Ubuntu 生态系统的方式。
  • 您可以选择安装 default-jdk 或特定版本的 OpenJDK (如 openjdk-11-jdk, openjdk-17-jdk, openjdk-21-jdk)。
  • Oracle JDK 在商业生产用途中通常需要付费许可,安装方式可能需要手动或通过第三方 PPA。
  • update-alternatives 工具是管理系统中多个 Java 版本的关键,允许您轻松切换默认的 javajavac 命令。
  • JAVA_HOME 环境变量对许多 Java 工具和应用程序至关重要,通常需要添加到 shell 配置文件(如 ~/.bashrc)中并导出。
  • 卸载 Java 可以通过 apt remove --purge 命令完成,手动安装的 Java 需要手动清理文件和配置。

通过遵循本文提供的步骤,您应该能够成功在 Ubuntu 系统上安装和配置 Java 环境,为您的开发和应用需求打下坚实的基础。如果在安装过程中遇到任何问题,可以参考故障排除章节或查阅 Ubuntu 官方文档和社区论坛寻求帮助。

祝您在 Ubuntu 上的 Java 之旅顺利!


发表评论

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

滚动至顶部