Ubuntu手动安装JDK 17完整教程(.tar.gz 方式)

 更新时间:2026年02月08日 10:17:03   作者:啊,,,dong  
JDK是Java开发的核心组件之一,它包含了Java编译器和Java运行时环境,以及其他开发工具和库,这篇文章主要介绍了Ubuntu手动安装JDK 17(.tar.gz 方式)的相关资料,需要的朋友可以参考下

适用人群:Linux 初学者、Java 开发者、需要在 Ubuntu 上配置 Java 环境的用户
系统环境:Ubuntu 20.04 / 22.04 / 24.04(或其他 Linux 发行版)
JDK 版本:Oracle JDK 17(也可适用于 OpenJDK 或其他版本)

在 Ubuntu 上安装 JDK(Java Development Kit)是进行 Java 开发的第一步。虽然可以通过 apt 包管理器快速安装 OpenJDK,但有时我们需要使用特定版本的 Oracle JDK,或者希望更灵活地管理多个 JDK 版本。本文将详细介绍如何通过下载 .tar.gz 压缩包的方式,在 Ubuntu 系统中手动安装并配置 JDK 17。

第一步:下载 JDK

  1. 打开浏览器,访问 Oracle JDK 下载页面
  2. 找到 JDK 17 的 Linux x64 版本,选择 tar.gz 格式进行下载。
    • 文件名通常为:jdk-17_linux-x64_bin.tar.gz
  3. 下载完成后,默认会保存在 ~/Downloads 目录下。

⚠️ 注意:从 Oracle 官网下载 JDK 需要登录 Oracle 账号(免费注册即可)。

第二步:解压 JDK 压缩包

打开终端(Ctrl + Alt + T),进入下载目录并解压文件:

cd ~/Downloads
tar -xvzf jdk-17_linux-x64_bin.tar.gz

该命令会解压出一个名为 jdk-17 的文件夹。

第三步:移动 JDK 到系统目录(推荐)

为了便于管理和权限控制,建议将 JDK 移动到 /usr/local/ 目录下:

sudo mv jdk-17 /usr/local/

✅ 提示:/usr/local/ 是存放本地安装软件的常用目录,符合 Linux 文件系统规范。

第四步:配置环境变量

我们需要设置 JAVA_HOMEPATH 环境变量,以便系统能够识别 javajavac 等命令。

编辑当前用户的 ~/.bashrc 文件:

nano ~/.bashrc

在文件末尾添加以下内容:

# Java Environment Variables
export JAVA_HOME=/usr/local/jdk-17
export PATH=$JAVA_HOME/bin:$PATH

✅ 提示:

  • JAVA_HOME 指向 JDK 安装目录。
  • bin 目录加入 PATH,使命令全局可用。

保存并退出 nano 编辑器:

  1. 按下 Ctrl + O 保存文件;
  2. Enter 确认;
  3. Ctrl + X 退出。

第五步:应用环境变量

为了让配置立即生效,运行以下命令:

source ~/.bashrc

💡 如果你使用的是 zsh(如新版 Ubuntu 或 macOS),请编辑 ~/.zshrc 文件,并执行 source ~/.zshrc

第六步:验证安装

运行以下命令检查 Java 是否安装成功:

java -version

如果看到类似输出,说明安装成功:

java version "17.0.1" 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

你也可以验证编译器:

javac -version
# 输出:javac 17.0.1

可选:切换多个 JDK 版本(进阶)

如果你需要管理多个 JDK 版本,可以使用 update-alternatives 工具或通过修改 JAVA_HOME 快速切换。

例如,切换到 OpenJDK 11:

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

常见问题

问题解决方案
java: command not found检查 PATH 是否包含 $JAVA_HOME/bin,确认 .bashrc 是否已 source
权限不足使用 sudo 移动文件,确保目录可读
下载链接失效登录 Oracle 账户,确认是否勾选了许可协议

结语

通过以上步骤,你已经成功在 Ubuntu 系统中手动安装并配置了 Oracle JDK 17。这种方式不仅适用于 JDK 17,也适用于 JDK 8、JDK 21 等其他版本,只需替换对应的压缩包和路径即可。

手动安装虽然比 apt 多几步,但能让你更清晰地理解 JDK 的结构和环境变量的作用,是每位 Java 开发者必备的基础技能。

到此这篇关于Ubuntu手动安装JDK 17完整教程的文章就介绍到这了,更多相关Ubuntu手动安装JDK 17内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java URL乱码的解决办法

    java URL乱码的解决办法

    这篇文章介绍了java URL乱码的解决办法,有需要的朋友可以参考一下
    2013-09-09
  • Java基础之并发相关知识总结

    Java基础之并发相关知识总结

    随着摩尔定律逐步失效,cpu单核性能达到瓶颈,并发逐渐逐渐得到广泛应用,因而学习了解以及使用并发就显得十分重要,但并发相关的知识比较琐碎,不易系统学习,因而本篇文章参照王宝令老师《Java并发编程》来勾勒出一张“并发全景图”,需要的朋友可以参考下
    2021-05-05
  • 解析Java编程之Synchronized锁住的对象

    解析Java编程之Synchronized锁住的对象

    这篇文章主要介绍了解析Java编程之Synchronized锁住的对象,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Java学生信息管理系统设计(数据库版)

    Java学生信息管理系统设计(数据库版)

    这篇文章主要为大家详细介绍了数据库版的Java学生信息管理系统设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • MyBatis类型转换模块的实现

    MyBatis类型转换模块的实现

    MyBatis是一个持久层框架ORM框架,实现数据库中数据和Java对象中的属性的双向映射,那么不可避免的就会碰到类型转换的问题,本文主要介绍了MyBatis类型转换模块的实现,感兴趣的可以了解一下
    2023-09-09
  • java 实现字节流和字节缓冲流读写文件时间对比

    java 实现字节流和字节缓冲流读写文件时间对比

    这篇文章主要介绍了java 实现字节流和字节缓冲流读写文件时间对比,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 深入Java冒泡排序与选择排序的区别详解

    深入Java冒泡排序与选择排序的区别详解

    本篇文章是对Java冒泡排序与选择排序的区别进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • RabbitMQ消息发送失败的重试机制核心流程

    RabbitMQ消息发送失败的重试机制核心流程

    本文介绍了基于NestJS和RabbitMQ的高可靠消息重试机制设计,通过三级保障机制(预持久化、实时回调处理、定时任务补偿)和灵活的存储层(支持MySQL/Redis),确保消息在发送失败时能够可靠重试,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • 详解IDEA的快捷键及智能提示

    详解IDEA的快捷键及智能提示

    这篇文章主要介绍了详解IDEA的快捷键及智能提示,文中有非常详细的快捷键及智能提示的说明,对正在使用IDEA的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • 替换jar包中的依赖jar实现方式

    替换jar包中的依赖jar实现方式

    在没有源码的情况下替换JAR包中的依赖包,可以通过以下步骤完成:备份原始JAR包,进入JAR包的BOOT-INF/lib目录,删除旧的依赖包并替换为新的依赖包,最后重新打包
    2025-12-12

最新评论