一步步教你如何在Ubuntu安装Java – wiki基地


一步步教你在 Ubuntu 上安装 Java (详细指南)

Java 是一种广泛使用的编程语言和计算平台,以其“一次编写,到处运行”的特性而闻名。无论你是开发桌面应用程序、Web 应用程序、Android 应用程序,还是进行大数据处理,Java 通常都是必不可少的工具。本指南将详细介绍在 Ubuntu 系统上安装 Java 的各种方法,并提供深入的解释和故障排除技巧,确保你能够顺利完成安装并配置好 Java 环境。

1. 了解 Java 版本和发行版

在开始安装之前,了解不同 Java 版本和发行版的区别非常重要。这将帮助你选择最适合你需求的版本。

1.1. Java 版本

  • Java SE (Standard Edition): 标准版,包含用于开发和部署桌面、服务器和嵌入式环境的 Java 应用程序的核心 API。
  • Java EE (Enterprise Edition): 企业版,构建在 Java SE 之上,提供了一组用于开发和部署企业级应用程序的 API 和运行时环境,例如 Web 服务、分布式应用程序等。
  • Java ME (Micro Edition): 微型版,用于开发在移动设备和嵌入式系统上运行的应用程序。

对于大多数开发人员来说,Java SE (通常简称为 Java) 就足够了。

1.2. Java 发行版

Java 有多个发行版可供选择,主要分为两大类:

  • Oracle JDK: Oracle 官方发布的 Java 开发工具包。它包含 Java 运行时环境 (JRE) 和开发工具 (如编译器 javac、调试器 jdb 等)。Oracle JDK 在过去需要商业许可才能用于生产环境,但现在情况有所改变(稍后详细说明)。
  • OpenJDK: Java SE 平台的开源实现。它由 Oracle 和 Java 社区共同维护,功能上与 Oracle JDK 基本相同。OpenJDK 是完全免费和开源的,可以自由用于任何用途。

Oracle JDK 和 OpenJDK 的许可差异

  • Oracle JDK 17 及更高版本: 采用 “Oracle No-Fee Terms and Conditions” (NFTC) 许可。这意味着你可以免费将其用于个人、开发、测试、原型设计和演示,以及某些内部业务操作。但是,如果你需要 Oracle 的商业支持或长期支持 (LTS) 版本,则可能需要购买商业许可。
  • Oracle JDK 8, 11 (LTS版本): 这些版本依然提供更新, 个人使用依然免费.
  • OpenJDK: 采用 GPLv2 with Classpath Exception 许可。这意味着你可以自由地将其用于任何目的,包括商业用途,而无需支付任何费用。

选择哪个发行版?

对于大多数用户来说,OpenJDK 是一个很好的选择,因为它完全免费、开源,并且功能与 Oracle JDK 相当。如果你需要 Oracle 的商业支持或长期支持,或者你正在使用一些依赖于 Oracle JDK 特定功能的旧版软件,那么你可以选择 Oracle JDK。

2. 安装前的准备工作

在开始安装之前,确保你的 Ubuntu 系统满足以下要求:

  • Ubuntu 版本: 本指南适用于大多数现代 Ubuntu 版本,包括 22.04 LTS、20.04 LTS 和 18.04 LTS。
  • 用户权限: 你需要具有 sudo 权限的用户帐户来执行安装命令。
  • 互联网连接: 你需要一个稳定的互联网连接来下载 Java 安装包。
  • 更新系统: 强烈建议在安装任何新软件之前更新你的系统:

    bash
    sudo apt update
    sudo apt upgrade

3. 安装 OpenJDK

OpenJDK 是 Ubuntu 的默认 Java 开发工具包,安装非常简单。

3.1. 使用 apt 安装 OpenJDK (推荐)

这是在 Ubuntu 上安装 OpenJDK 最简单、最推荐的方法。

  1. 更新软件包列表:

    bash
    sudo apt update

  2. 安装 OpenJDK:

    • 安装最新版本的 OpenJDK (通常是最好的选择):

      bash
      sudo apt install default-jdk

      这将安装 Ubuntu 软件仓库中可用的最新版本的 OpenJDK。

    • 安装特定版本的 OpenJDK:

      如果你需要特定版本的 OpenJDK (例如 OpenJDK 11),可以使用以下命令:

      bash
      sudo apt install openjdk-11-jdk

      同样,安装JDK17:
      bash
      sudo apt install openjdk-17-jdk

      11 替换为你想要安装的版本号。

  3. 验证安装:

    安装完成后,验证 Java 是否已正确安装:

    bash
    java -version

    你应该会看到类似以下的输出 (版本号可能有所不同):

    openjdk version "11.0.16" 2022-07-19
    OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
    OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

    如果你看到类似的信息,说明 OpenJDK 已成功安装。

3.2. 使用 apt 安装 OpenJDK JRE

如果你只需要运行 Java 应用程序而不需要开发它们,你可以只安装 Java 运行时环境 (JRE):

  1. 更新软件包列表:

    bash
    sudo apt update

  2. 安装 OpenJDK JRE:

    • 安装最新版本的 OpenJDK JRE:

      bash
      sudo apt install default-jre

    • 安装特定版本的 OpenJDK JRE:

      bash
      sudo apt install openjdk-11-jre

      同样,安装JRE17:
      bash
      sudo apt install openjdk-17-jre

      11 替换为你想要安装的版本号。

  3. 验证安装:

    bash
    java -version

4. 安装 Oracle JDK

如果你需要 Oracle JDK,你可以从 Oracle 官网下载安装包或使用第三方 PPA。

4.1. 从 Oracle 官网下载安装 (手动安装)

  1. 访问 Oracle JDK 下载页面:

    打开浏览器并访问 Oracle JDK 下载页面:https://www.oracle.com/java/technologies/downloads/

  2. 选择 Java 版本:

    选择你想要下载的 Java 版本 (例如 Java SE 17)。

  3. 下载 .deb 安装包:

    在 “Linux x64 Debian Package” 下方,找到 .deb 文件并下载。

  4. 安装 .deb 包:

    打开终端,导航到你下载 .deb 文件的目录,然后运行以下命令 (将文件名替换为你下载的实际文件名):

    bash
    sudo dpkg -i jdk-17_linux-x64_bin.deb

    如果提示缺少依赖, 运行:
    bash
    sudo apt-get install -f

  5. 验证安装:

    bash
    java -version

4.2 使用 update-alternatives配置java (手动安装需要)

如果通过下载deb包手动安装,可能需要配置update-alternatives

  1. 配置 java:

bash
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17.0.4/bin/java 1

替换 /usr/lib/jvm/jdk-17.0.4 为你的 JDK 实际安装路径。

  1. 配置 javac (如果需要):

bash
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17.0.4/bin/javac 1

同样,替换路径.
3. 选择默认的 Java 版本:

```bash
sudo update-alternatives --config java
```
 如果有多个 Java 版本,这将允许你选择要使用的版本。按照提示选择 Oracle JDK。
  1. 选择默认的 javac 版本 (如果需要):

    bash
    sudo update-alternatives --config javac

    选择需要的版本.

4.3 使用WebUpd8 PPA安装Oracle Java (不推荐, 可能无法使用)

注意: WebUpd8 PPA 已经不再维护,因此这种方法可能不再有效。仅供参考。

  1. 添加 PPA 仓库(不推荐, 可能无法使用):
    bash
    sudo add-apt-repository ppa:webupd8team/java

  2. 更新软件包列表:

    bash
    sudo apt update

  3. 安装 Oracle Java:
    bash
    sudo apt install oracle-java17-installer

    替换17为你想要的版本.

  4. 接受许可协议
    在安装过程中,按照提示接受Oracle的许可协议.

  5. 验证安装:

    bash
    java -version

    5. 配置环境变量

虽然 Java 安装后通常可以立即使用,但为了确保所有应用程序都能正确找到 Java,建议配置一些环境变量。

5.1. 设置 JAVA_HOME

JAVA_HOME 环境变量是一个重要的环境变量,许多 Java 应用程序和开发工具都会使用它来定位 Java 安装目录。

  1. 确定 Java 安装路径:

    如果你使用 apt 安装 OpenJDK,Java 通常安装在 /usr/lib/jvm/ 目录下。你可以使用以下命令列出已安装的 Java 版本:

    bash
    ls /usr/lib/jvm/

    找到你想要使用的 Java 版本的目录名 (例如 java-11-openjdk-amd64jdk-17.0.4)。

  2. 编辑 /etc/environment 文件:

    使用文本编辑器 (如 nanogedit) 以管理员权限打开 /etc/environment 文件:

    bash
    sudo nano /etc/environment

  3. 添加 JAVA_HOME 变量:

    在文件末尾添加以下行 (将路径替换为你实际的 Java 安装路径):

    JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    或者,如果你的JDK路径是 /usr/lib/jvm/jdk-17.0.4:
    JAVA_HOME="/usr/lib/jvm/jdk-17.0.4"

  4. 保存并关闭文件。

  5. 使更改生效:

    为了使更改立即生效,你可以注销并重新登录,或者运行以下命令:

    bash
    source /etc/environment

  6. 验证 JAVA_HOME:

    bash
    echo $JAVA_HOME

    你应该会看到你设置的 Java 安装路径。

5.2. 将 Java 添加到 PATH

PATH 环境变量告诉系统在哪里查找可执行文件。虽然通常不需要手动将 Java 添加到 PATH,因为安装过程会自动处理,但如果遇到问题,你可以手动添加。

  1. 编辑 /etc/environment 文件 (如果需要):

    bash
    sudo nano /etc/environment

  2. 修改 PATH 变量:

    找到 PATH 变量,并在其开头添加 $JAVA_HOME/bin:。例如:

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"

  3. 保存并关闭文件。

  4. 使更改生效:

    bash
    source /etc/environment

5.3 设置只对当前用户的环境变量(可选)

如果你只想为你自己的用户帐户设置环境变量,而不是全局设置,你可以编辑你的 shell 配置文件 (例如 ~/.bashrc~/.profile)。

  1. 编辑 shell 配置文件:

    bash
    nano ~/.bashrc

  2. 添加环境变量:

    在文件末尾添加以下行 (将路径替换为你实际的 Java 安装路径):

    bash
    export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    export PATH="$JAVA_HOME/bin:$PATH"

  3. 保存并关闭文件。

  4. 使更改生效:

    bash
    source ~/.bashrc

6. 管理多个 Java 版本 (使用 update-alternatives)

如果你安装了多个 Java 版本,你可以使用 update-alternatives 命令轻松地在它们之间切换。

  1. 列出已安装的 Java 版本:

    bash
    sudo update-alternatives --config java

    这将显示一个列表,其中包含已安装的 Java 版本及其优先级。

  2. 选择默认 Java 版本:

    输入与你想要使用的 Java 版本对应的编号,然后按 Enter 键。

  3. javac 执行相同的操作 (如果需要):

    bash
    sudo update-alternatives --config javac

7. 常见问题和故障排除

7.1 java -version 命令找不到
* 检查 PATH 环境变量: 确保 JAVA_HOME/bin 已添加到 PATH 环境变量中。
* 重新加载 shell 配置文件: 运行 source /etc/environmentsource ~/.bashrc (取决于你修改了哪个文件)。
* 重新登录: 注销并重新登录以确保所有更改都已生效。
* 使用 update-alternatives: 确保已使用 update-alternatives 正确配置了 Java。

7.2 应用程序找不到 Java
* 设置 JAVA_HOME 环境变量: 确保已正确设置 JAVA_HOME 环境变量。
* 检查应用程序的文档: 一些应用程序可能有特定的配置要求。
* 使用绝对路径: 在启动应用程序时,尝试使用 Java 可执行文件的绝对路径 (例如 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar myapp.jar)。

7.3 安装过程中出现错误
* 仔细阅读错误消息: 错误消息通常会提供有关问题的线索。
* 检查互联网连接: 确保你可以访问互联网以下载软件包。
* 更新软件包列表: 运行 sudo apt update
* 修复损坏的软件包: 运行 sudo apt --fix-broken install
* 查看系统日志: 检查 /var/log/apt/ 目录下的日志文件以获取更多详细信息。

7.4 如何卸载 Java

如果你需要卸载 Java,可以使用以下命令:

  • 卸载 OpenJDK (使用 apt):

    bash
    sudo apt remove openjdk-11-jdk # 或 openjdk-11-jre

    11 替换为你想要卸载的版本号。
    如果要完全删除(包括配置文件):
    bash
    sudo apt purge openjdk-11-jdk

  • 卸载 Oracle JDK (手动安装):

    bash
    sudo apt remove oracle-java17-installer # 例子, 基于包名卸载

    或手动删除安装目录(通常是 /usr/lib/jvm 下的对应文件夹)。

8. 总结

本指南详细介绍了在 Ubuntu 上安装 Java 的各种方法,包括安装 OpenJDK 和 Oracle JDK,配置环境变量,以及管理多个 Java 版本。希望这些信息能够帮助你成功安装并配置 Java 环境,让你能够顺利地进行 Java 开发和运行 Java 应用程序。 如果你在安装过程中遇到任何问题,请仔细阅读错误消息,参考本指南中的故障排除部分,或在网上搜索相关信息。

发表评论

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

滚动至顶部