跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Ubuntu 20.04 手动安装 JDK 17 实战指南

在 Ubuntu 20.04 云服务器上手动安装 Oracle JDK 17,主要涉及创建安装目录、上传或下载压缩包、解压配置环境变量及验证。重点在于将 JDK 路径写入 /etc/profile 并执行 source 命令使其生效。相比 apt 安装 OpenJDK,手动安装能更灵活地控制版本和位置,适合生产环境部署。常见坑点包括权限不足、路径拼写错误及多版本冲突,可通过检查 JAVA_HOME 变量和使用 update-alternatives 解决。

DockerOne发布于 2026/3/24更新于 2026/6/917 浏览

Ubuntu 20.04 手动安装 JDK 17 实战指南

在 Linux 服务器上部署 Java 应用时,手动安装 JDK 往往比包管理器更灵活,能精确控制版本和安装路径。下面以 Ubuntu 20.04 LTS 为例,演示如何从 Oracle 官网下载并配置 JDK 17。

环境准备

确保服务器已联网,且拥有 sudo 权限。本次操作基于 Oracle JDK 17.0.16 的 tar.gz 压缩包进行。

下载安装包

首选方案是直接在服务器端下载,避免本地传输耗时。进入目标目录:

sudo mkdir -p /opt/java
sudo chown -R ubuntu:ubuntu /opt/java
sudo chmod -R 755 /opt/java
cd /opt/java

接着使用 wget 拉取安装包(需替换为实际下载链接):

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

若无法直连外网,可先下载到本地,通过 SCP 或文件管理器上传至 /opt/java。

解压与验证

解压后通常是一个包含具体版本的文件夹,记下这个名称,后续配置会用到。

tar -xzf jdk-17.0.16_linux-x64_bin.tar.gz
ls -la

确认存在类似 jdk-17.0.16 的目录即可。

配置环境变量

这是最关键的一步。编辑系统级配置文件 /etc/profile:

sudo vi /etc/profile

在文件末尾追加以下内容(请根据实际解压目录名修改路径):

export JAVA_HOME=/opt/java/jdk-17.0.16
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

保存退出后,让配置立即生效:

source /etc/profile

验证安装

执行以下命令检查是否成功:

java -version
javac -version
echo $JAVA_HOME

正常输出应显示 Java 17 相关信息,且 JAVA_HOME 指向正确路径。如果想进一步测试,可以编译运行一个简单的 Hello World 程序。

常见问题排查

遇到 command not found 错误?多半是环境变量没生效。检查 echo $JAVA_HOME 是否有值,如果没有,重新 source /etc/profile 或重启终端。

如果系统里已有其他 Java 版本,可能会冲突。可以用 update-alternatives --config java 来切换默认版本,或者直接指定完整路径运行。

替代方案

如果不想折腾手动配置,也可以用 apt 安装 OpenJDK 17:

sudo apt update
sudo apt install -y openjdk-17-jdk

这种方式会自动处理环境变量,适合快速搭建开发环境,但版本更新可能不如手动安装及时。


以上就是在 Ubuntu 上安装 JDK 17 的标准流程。核心在于路径准确和环境变量加载。只要这几个步骤走通,后续的 Spring Boot 或其他 Java 项目部署就能顺利进行。

目录

  1. Ubuntu 20.04 手动安装 JDK 17 实战指南
  2. 环境准备
  3. 下载安装包
  4. 解压与验证
  5. 配置环境变量
  6. 验证安装
  7. 常见问题排查
  8. 替代方案
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • DALL·E 3 绘图功能与 API 探索
  • VSCode 远程 SSH 连接下 Copilot 无法使用 Claude 及 Agent 模式的解决方案
  • Java 分治算法实战:快速排序与归并排序
  • Whisper-WebUI macOS 安装与常见问题排查
  • Vivado 许可证获取与配置指南
  • Spring Cloud 熔断降级详解:Sentinel 实战与原理类比
  • SQL 注入绕过函数过滤:GBK 宽字节攻击
  • Rust 全栈开发框架深度对比:Leptos、Yew、Axum 与 Tauri
  • Python 输入 input 函数及字符串处理:大小写与 strip()
  • ToDesk 内置 ToClaw AI 实现科技新闻日报自动化实战
  • VS Code 中 GitHub Copilot 配置与高阶用法实战
  • Stable Diffusion WebUI 本地部署指南
  • Spring Boot 数据导入导出与报表生成实战
  • 数据结构详解:堆的实现与应用
  • SpringAI + Deepseek 大模型应用开发实战:对话机器人、Function Calling 与 RAG
  • 开源工具 Tianji:网站统计与在线监控一体化方案
  • DeepSeek 时代:前端开发者的护城河与转型方向
  • DeepSeek 时代,前端开发者的新定位与路径
  • 前端缓存策略最佳实践:LocalStorage 与 Service Worker
  • GitHub Copilot 使用体验与实战场景分析

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online