小易说IT 小易说IT

Linux系统解压版 Java JDK17 安装教程

通用,支持 x86_64 /aarch64,openEuler、Debian、Ubuntu、CentOS、麒麟都适用采用 Oracle OpenJDK 17 / Temurin17(推荐 Eclipse Temurin,免费无版权问题),纯解压配置,不装 rpm/deb 包

1. 下载 JDK17 压缩包

推荐:Eclipse Temurin 17(Adoptium) 下载页:https://adoptium.net/temurin/releases/?version=17

  • x86_64 Linux:OpenJDK17U-jdk_x64_linux_hotspot_xxx.tar.gz

  • aarch64 (ARM64,RK3588、鲲鹏、树莓派 64 位):OpenJDK17U-jdk_aarch64_linux_hotspot_xxx.tar.gz

不要下带 jre 的,我们要 jdk

2. 上传 & 解压

假设上传到 /opt 目录(系统软件统一放这里,规范)

# 进入目录
cd /opt

# 解压,替换成你自己的包名
tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.13_10.tar.gz

# 重命名简化(方便后续配置)
mv jdk-17.0.13+10 jdk17

解压完成后路径:/opt/jdk17

3. 配置环境变量(两种方式:全局 / 当前用户)

方式 A:全局生效(所有用户,推荐服务器)

编辑 /etc/profile

vim /etc/profile

文件末尾追加:

# JDK17
export JAVA_HOME=/opt/jdk17
export PATH=$JAVA_HOME/bin:$PATH

方式 B:仅当前用户生效(普通账号,不影响 root 和其他人)

vim ~/.bashrc
# 或者 zsh 用户:vim ~/.zshrc

同样追加上面三行配置

4. 加载环境变量(立刻生效)

# 对应profile的重载
source /etc/profile
# 如果是 .bashrc:source ~/.bashrc

5. 验证安装

java -version
javac -version

✅ 正常输出示例:

openjdk version "17.0.13" 2024-10-15 LTS
OpenJDK Runtime Environment Temurin-17.0.13+10 (build 17.0.13+10-LTS)
OpenJDK 64-Bit Server VM Temurin-17.0.13+10 (build 17.0.13+10-LTS, mixed mode, sharing)

6. 多 JDK 切换(机器上同时有 JDK8/JDK11/JDK17)

alternatives 管理(可选)

# 注册java
alternatives --install /usr/bin/java java /opt/jdk17/bin/java 170
# 注册javac
alternatives --install /usr/bin/javac javac /opt/jdk17/bin/javac 170

# 切换版本
alternatives --config java
alternatives --config javac

7. 常见坑

  1. source 之后 java -version 还是旧版本

    • 检查 PATH 顺序:一定要 $JAVA_HOME/bin 放前面

    • 检查是否装了系统自带 openjdk 包(rpm -qa |grep java / dpkg -l |grep java),系统包会覆盖

  2. aarch64 架构下下载了 x64 包 → 执行 java 报无法执行 → 重新下载 aarch64 版本

  3. 权限问题:permission denied

chmod -R 755 /opt/jdk17
# 如果是普通用户操作,需要加sudo
sudo chmod -R 755 /opt/jdk17
  1. 容器内部署:可以直接把解压包打进镜像,环境变量写 Dockerfile

8. Dockerfile 示例(如果你需要容器内置 jdk17 解压版)

FROM ubuntu:22.04
COPY OpenJDK17U-jdk_x64_linux_hotspot_17.0.13_10.tar.gz /opt/
RUN cd /opt && tar -zxvf *.tar.gz && mv jdk-17* jdk17 && rm -f *.tar.gz
ENV JAVA_HOME=/opt/jdk17
ENV PATH=$JAVA_HOME/bin:$PATH

一键脚本(复制直接跑,只需要提前把 tar 包放到 /opt 下,改包名)

#!/bin/bash
cd /opt
tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.13_10.tar.gz
mv jdk-17.0.13+10 jdk17
cat >> /etc/profile <<EOF
export JAVA_HOME=/opt/jdk17
export PATH=\$JAVA_HOME/bin:\$PATH
EOF
source /etc/profile
java -version

本文原创作者:易君召,详见:https://www.yijunzhao.cc/about,转载请注明出处。

原文链接 https://www.yijunzhao.cc/archives/linux-install-java-jdk17-tarball-guide

欢迎访问 https://www.yijunzhao.cc/

https://www.yijunzhao.cc/