通用,支持 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.gzaarch64 (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. 常见坑
source 之后 java -version 还是旧版本
检查 PATH 顺序:一定要
$JAVA_HOME/bin放前面检查是否装了系统自带 openjdk 包(
rpm -qa |grep java/dpkg -l |grep java),系统包会覆盖
aarch64 架构下下载了 x64 包 → 执行 java 报无法执行 → 重新下载 aarch64 版本
权限问题:permission denied
chmod -R 755 /opt/jdk17
# 如果是普通用户操作,需要加sudo
sudo chmod -R 755 /opt/jdk17
容器内部署:可以直接把解压包打进镜像,环境变量写 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,转载请注明出处。
原文链接
欢迎访问