主页 >> 程序猿的东西 >> 在 Ubuntu 中安装 Oracle JDK 并管理多版本

在 Ubuntu 中安装 Oracle JDK 并管理多版本

背景

因为 Oracle 的闭源特质,Ubuntu 内置的 apt 仓库中默认安装的 JDK 是 OpenJDK,如果想要安装Oracle 版本的 JDK,就需要去官网下载。另外我们可能会需要再电脑上使用不同版本的 JDK,因此同时介绍了使用update-alternatives 来管理多个版本的方法。


操作方法

步骤 1:下载 Oracle JDK

  1. 打开 Oracle JDK 官方下载页面
  2. 根据需要选择版本(如 JDK 21 或 JDK 17),点击对应的下载链接。
  3. 下载适用于 Linux 的 .tar.gz 压缩文件。

步骤 2:解压并安装 JDK

将下载的 .tar.gz 文件解压到系统路径下,例如 /usr/lib/jvm(这是标准的 JDK 安装目录)。

  1. 创建目标目录(如果尚未存在):

    sudo mkdir -p /usr/lib/jvm
  2. 解压文件到该目录:

    sudo tar -xvzf ~/Downloads/jdk-_linux-x64_bin.tar.gz -C /usr/lib/jvm

    替换 jdk-<version> 为实际的文件名,例如 jdk-17.0.8.

  3. 确认解压后的路径,例如 /usr/lib/jvm/jdk-17.0.8.


步骤 3:配置 update-alternatives

update-alternatives 是 Ubuntu 系统中用来管理多版本可执行文件的工具。我们需要将 Oracle JDK 的 javajavac 可执行文件添加到该工具中。

  1. 添加 java javac 命令到 update-alternatives

    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-/bin/java 1000
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-/bin/javac 1000
  2. 切换当前使用的 JDK 版本:

    sudo update-alternatives --config java

    执行命令后,会显示当前可用的 JDK 列表,例如:

    There are 2 choices for the alternative java (providing /usr/bin/java).
    
     Selection    Path                                   Priority   Status
    ------------------------------------------------------------
     1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1100      auto mode
    *  2            /usr/lib/jvm/jdk-17.0.8/bin/java              1000      manual mode

    输入数字(如 2),切换到所需的版本。

  3. 同步切换 javac 命令:

    sudo update-alternatives --config javac

步骤 4:验证安装

切换完成后,运行以下命令检查 JDK 版本:

java -version
javac -version

输出应该显示所选的 Oracle JDK 版本,例如:

java version "17.0.8" 2024-01-14 LTS
Java(TM) SE Runtime Environment (build 17.0.8+10-LTS-123)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+10-LTS-123, mixed mode, sharing)

步骤 5:设置环境变量(可选)

为了便于开发,建议设置 JAVA_HOME 环境变量:

  1. 编辑全局环境文件:

    sudo nano /etc/environment
  2. 添加以下内容(将路径替换为实际 JDK 安装路径):

    JAVA_HOME=/usr/lib/jvm/jdk-17.0.8
    PATH="$JAVA_HOME/bin:$PATH"
  3. 保存并退出,然后重新加载环境变量:

    source /etc/environment
  4. 验证 JAVA_HOME 设置:

    echo $JAVA_HOME

总结

通过上述步骤,您可以在 Ubuntu 中安装 Oracle JDK 并使用 update-alternatives 工具灵活切换不同版本的 JDK。这种方法适用于多版本 JDK 共存的情况,同时保证了系统的灵活性和稳定性。

滚动至顶部