跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Javajava

Ubuntu 20.04 云服务器手动安装 Oracle JDK 17 指南

Ubuntu 20.04 环境下手动部署 Oracle JDK 17 涉及下载压缩包、配置环境变量及验证运行环境。过程包括解压 tar.gz 包至指定目录、设置 JAVA_HOME 指向正确路径,并通过 source 命令生效配置。此外涵盖常见问题排查及 apt 安装替代方案,确保 Java 开发环境稳定可用。

MongoKing发布于 2026/3/16更新于 2026/5/85 浏览

环境准备

在开始之前,确保你拥有一台运行 Ubuntu 20.04 LTS 的云服务器。本次演示基于 Oracle JDK 17.0.16 版本,采用 tar.gz 压缩包进行手动解压安装,这种方式灵活性更高,适合需要自定义安装路径的场景。

下载与上传安装包

首先从 Oracle 官网获取 Linux x64 压缩版安装包(文件名类似 jdk-17.0.16_linux-x64_bin.tar.gz)。

如果你习惯使用命令行,可以直接通过 SCP 将本地文件传输到服务器:

scp /path/to/jdk-17.0.16_linux-x64_bin.tar.gz ubuntu@服务器 IP:/opt/java/

或者在服务器上直接使用 wget 下载(需确认网络连通性):

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

如果选择图形化界面上传,记得先确保目录权限正确,否则可能会遇到写入失败的问题。

解压与目录配置

创建标准安装目录并赋予当前用户权限,这能避免后续操作出现权限拒绝错误。

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

进入目录后解压安装包。解压后的文件夹名称通常包含版本号,比如 jdk-17.0.16,请务必记下这个实际名称,后面配置环境变量时会用到。

cd /opt/java
tar -xzf jdk-17.0.16_linux-x64_bin.tar.gz
ls -la

验证一下结构,应该能看到 bin, conf, lib 等核心目录。

配置环境变量

为了让系统在任何位置都能识别 java 命令,我们需要修改系统级配置文件 /etc/profile。

sudo vi /etc/profile

在文件末尾追加以下内容,注意替换为你实际的解压目录名:

# JDK 17 环境变量配置
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 版本:

java -version

预期输出应显示 17.0.16 及 LTS 标识。同时检查编译器版本和路径:

javac -version
which java
echo $JAVA_HOME

如果想进一步测试,可以写一个简单的 Hello World 程序:

cat > Test.java <<'EOF'
public class Test {
    public static void main(String[] args) {
        System.out.println("JDK 17 安装成功!");
    }
}
EOF
javac Test.java
java Test

如果控制台打印出 "JDK 17 安装成功!",说明一切正常。

常见问题排查

1. 提示 command not found

通常是环境变量未生效或配置路径有误。检查 $JAVA_HOME 是否为空,若为空请重新编辑 /etc/profile 并确保执行了 source 命令。

2. 权限不足 (Permission denied)

尝试修正目录所有权:

sudo chown -R ubuntu:ubuntu /opt/java
sudo chmod -R 755 /opt/java

3. 多个 Java 版本冲突

如果系统里装过其他版本,可以用 update-alternatives 管理默认版本,或者直接指定完整路径运行。

替代方案:APT 安装

如果不想手动折腾,也可以直接用包管理器安装 OpenJDK 17,虽然版本可能不是最新,但胜在省心:

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

这种方式会自动处理大部分配置,适合快速搭建基础环境。

目录

  1. 环境准备
  2. 下载与上传安装包
  3. 解压与目录配置
  4. 配置环境变量
  5. JDK 17 环境变量配置
  6. 验证安装结果
  7. 常见问题排查
  8. 替代方案:APT 安装
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • Android 热修复技术:Andfix 框架原理与源码分析
  • PaperRed:AI 论文写作与查重降重工具功能介绍
  • C++ 嵌入 Python 调用实战:Py_Initialize 初始化与函数交互
  • 大模型面经:LoRA 原理与微调实战总结
  • Photoshop 集成 ComfyUI 工作流配置指南
  • ExcelJS 使用教程:JavaScript Excel 处理库
  • AI Skills:前端新的效率神器
  • AI产品经理核心能力与行业落地全景指南
  • Git 提交信息规范:常用前缀与书写建议
  • 企业级 AI 应用:如何有效缓解算法偏见
  • webman 框架:打造高性能 PHP 应用
  • FunASR 离线语音转写服务部署与客户端开发实战
  • 基于 Qwen3-VL 的自然语言驱动智能测试
  • Docker 部署 iptvnator 构建家庭媒体中心
  • LlamaIndex 本地大模型起步教程
  • C++ vector 容器使用、迭代器失效与模拟实现
  • 雷达信号处理:运动补偿算法及 Matlab 仿真
  • OpenClaw Skills 合集开源,收录超 1700 个本地化 AI Agent 技能
  • Python 异步编程实战:从 asyncio 入门到并发爬虫
  • Python 函数、列表与元组核心用法及实战案例

相关免费在线工具

  • 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