Linux手动解压tar.gz安装JDK及配置环境变量

周叙
周叙
发布时间:2026-11-08| 11人浏览过
原创

本文介绍在 Linux 系统中通过手动解压 tar.gz 归档文件来安装 JDK 的方法,适用于离线环境、指定安装路径或多版本共存场景。内容涵盖架构确认、文件解压、JAVA_HOME 与 PATH 环境变量配置,以及验证安装结果和排查常见问题的步骤。

当需要离线安装、固定 JDK 目录结构,或在同一台机器上维护多个 Java 版本时,可以将 JDK 的 Linux .tar.gz 包解压至指定位置,并手动配置 JAVA_HOME 和 PATH。该方法不依赖系统包管理器,但需注意环境变量仅对当前用户或特定进程生效。下文以 Oracle JDK 17 的 Linux x64 归档文件为例,实际操作中请根据项目需求、许可协议及硬件架构选择合适的文件。

确认架构并准备归档

首先检查当前系统的 CPU 架构:

uname -m

通常,x86_64 代表 x64 架构,而 aarch64 代表 ARM 64 位架构。不同发行方的归档命名规则各异,不能仅凭文件名中的“Linux”字样判断适用性。例如,Oracle JDK 17 的 x64 版本文件名为 jdk-17_linux-x64_bin.tar.gz;若是 ARM 架构机器,则需下载对应的 aarch64 版本。下载前请务必确认发行方的许可协议及下载条款。

将下载的文件放置于具有相应管理权限的目录中。个人使用可存放于家目录;若需供本机多用户共享,建议由管理员将其放入约定的系统目录并设置适当的访问权限。切勿假设普通用户对 /opt 等系统目录拥有写入权限,也避免为方便起见全程使用 root 权限执行操作。

Linux手动解压tar.gz安装JDK及配置环境变量

先按系统架构选择对应的 JDK 归档

解压并确认 JDK 目录

例如,在 /opt/java 目录下执行解压操作:

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

在命令 tar -xzf 中,-x 参数表示解压,-z 表示处理 gzip 压缩格式,-f 后接归档文件名。解压完成后,使用 ls 查看生成的目录结构,并记录 JDK 的根目录路径。目录名称会因发行方和版本不同而变化,后文提到的 /opt/java/jdk-17 仅为示例,请勿未经核实直接套用。

若遇到权限错误,请先确认当前用户对目标目录是否具备写入权限。解决方案包括改用个人目录,或请求管理员创建目录并分配权限。需注意,解压归档文件不会自动修改系统默认的 Java 环境,也不能保证后台服务程序会自动切换至该 JDK。

Linux手动解压tar.gz安装JDK及配置环境变量

解压后确认实际生成的 JDK 目录

设置 JAVA_HOME 和 PATH

首先在当前终端会话中进行临时配置:

export JAVA_HOME=/opt/java/jdk-17
export PATH="$JAVA_HOME/bin:$PATH"

JAVA_HOME 应指向 JDK 的根目录,而非其下的 bin 子目录。将 $JAVA_HOME/bin 添加至 PATH 的前部,可确保当前 Shell 优先调用该 JDK 提供的 java 和 javac 等命令。使用双引号包裹路径可以防止路径中包含空格时被 Shell 错误解析。

临时设置仅对当前 Shell 及其启动的子进程有效,关闭终端后通常会失效。若希望登录时自动加载配置,可将上述命令写入用户实际使用的 Shell 启动文件中。由于 Bash 和 Zsh 的启动文件可能不同,建议先通过 echo "$SHELL" 确认默认 Shell,再编辑对应的配置文件。修改后重新登录或按 Shell 规范重载配置即可生效。为避免冲突,请勿在多个配置文件中重复追加相同内容。

Systemd 服务、容器环境及 CI/CD 任务通常不会读取交互式终端的配置文件。若仅特定项目或服务需要使用指定版本的 JDK,应在该服务的启动脚本或环境配置中单独设置变量,或直接使用 JDK 可执行文件的绝对路径。

Linux手动解压tar.gz安装JDK及配置环境变量

设置环境变量后从终端验证命令

检查命令实际指向

配置完成后,检查环境变量、命令路径及版本信息:

echo "$JAVA_HOME"
command -v java
java -version
javac -version

使用 command -v java 可查看 Shell 实际调用的命令路径。若结果仍指向旧版本,请检查 PATH 中旧路径是否排在前面,并确认新路径是否存在。此外,可通过 "$JAVA_HOME/bin/java" -version 直接检查指定目录下的 Java 版本,并与直接运行 java -version 的结果进行对比。如需编译程序,还需确认 javac 可用;仅包含运行环境的安装包通常不提供此工具。

若发现版本不符,请逐项检查 JAVA_HOME 的路径层级是否正确、配置文件是否已重新加载,以及运行命令的进程是否继承了最新的环境变量。需注意,登录终端显示正确并不代表后台服务也已切换至新 JDK。

何时考虑包管理器

手动解压方式适用于离线部署、版本锁定、用户级安装或多版本共存场景。若希望全系统统一使用由发行版维护的 Java 环境,使用系统包管理器通常更便于后续的更新与卸载,且部分发行版提供了便捷的默认版本切换机制。对于服务程序,应在其独立的环境配置中指定 JDK 路径,而不应依赖登录用户的 Shell 设置。

在选择安装方式时,应明确更新责任人、使用该版本的进程范围以及项目的版本约束。只要安装目录清晰、JAVA_HOME 正确指向 JDK 根目录,且目标进程的 PATH 包含了其 bin 目录,即可实现安装与环境配置的解耦管理。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。