环境说明
- 服务器:云服务器
- 操作系统:Ubuntu 20.04 LTS
- JDK 版本:Oracle JDK 17.0.16
- 安装方式:手动安装(tar.gz 包)
1. 准备工作
1.1 下载 JDK 17 安装包
从 Oracle 官网下载 JDK 17 安装包:
本文介绍了在 Ubuntu 20.04 云服务器上手动安装 Oracle JDK 17 的详细步骤。内容包括下载并上传 JDK 安装包、解压至指定目录、配置环境变量(JAVA_HOME 等)、验证安装结果以及常见问题排查。此外还提供了使用 apt 安装 OpenJDK 17 的替代方案。
从 Oracle 官网下载 JDK 17 安装包:
jdk-17.0.16_linux-x64_bin.tar.gz# 创建 JDK 安装目录
sudo mkdir -p /opt/java
# 修改目录权限(允许当前用户写入)
sudo chown -R ubuntu:ubuntu /opt/java
sudo chmod -R 755 /opt/java
说明:
/opt/java:JDK 的标准安装位置/opt/java 目录注意:如果提示'无写权限',执行以下命令修复:
sudo chown -R ubuntu:ubuntu /opt/java
sudo chmod -R 755 /opt/java
在本地电脑执行:
scp /path/to/jdk-17.0.16_linux-x64_bin.tar.gz ubuntu@服务器 IP:/opt/java/
cd /opt/java
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
cd /opt/java
ls -la
预期输出:应该看到 JDK 安装包文件
# 解压 JDK 安装包
tar -xzf jdk-17.0.16_linux-x64_bin.tar.gz
# 查看解压后的目录
ls -la
预期结果:会看到类似 jdk-17.0.16 的目录
重要:记录解压后的实际目录名,后续配置环境变量需要使用。
# 查看 JDK 目录结构
ls -la jdk-17.0.16/
# 应该看到以下目录:bin/, conf/, include/, jmods/, legal/, lib/, release
# 编辑系统级配置文件(所有用户生效)
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
重要说明:
/opt/java/jdk-17.0.16 替换为你实际的 JDK 目录名Esc 退出编辑模式:wq 保存并退出# 重新加载配置文件
source /etc/profile
# 或者重新登录 SSH 会话
exit
# 然后重新登录
java -version
预期输出:
java version "17.0.16" 2025-07-15 LTS
Java(TM) SE Runtime Environment (build 17.0.16+12-LTS-247)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.16+12-LTS-247, mixed mode, sharing)
javac -version
预期输出:
javac 17.0.16
echo $JAVA_HOME
预期输出:
/opt/java/jdk-17.0.16
which java
预期输出:
/opt/java/jdk-17.0.16/bin/java
# 创建测试文件
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 安装成功!
错误信息:
bash: java: command not found
可能原因:
解决方案:
# 1. 检查 JAVA_HOME 是否设置
echo $JAVA_HOME
# 2. 如果为空,检查配置文件
sudo cat /etc/profile | grep JAVA_HOME
# 3. 重新加载配置
source /etc/profile
# 4. 或者重新登录 SSH
错误信息:
Error: JAVA_HOME is not set correctly
解决方案:
# 1. 查看实际的 JDK 目录
ls -la /opt/java/
# 2. 确认 JDK 目录名
# 3. 修改 /etc/profile 中的 JAVA_HOME 路径
sudo vi /etc/profile
# 4. 修改后重新加载
source /etc/profile
错误信息:
Permission denied
解决方案:
# 修改目录权限
sudo chown -R ubuntu:ubuntu /opt/java
sudo chmod -R 755 /opt/java
可能原因:系统有多个 Java 版本
解决方案:
# 1. 检查所有 Java 版本
update-alternatives --list java
# 2. 如果安装了多个版本,设置默认版本
sudo update-alternatives --config java
# 3. 或者直接使用完整路径
/opt/java/jdk-17.0.16/bin/java -version
JDK 的安装根目录,其他程序通过这个变量查找 Java。
Java 运行环境的目录(JDK 包含 JRE)。
Java 类路径,告诉 JVM 在哪里查找类文件。
将 Java 的 bin 目录添加到系统路径,使 java和javac 命令可以在任何地方使用。
如果安装包已上传,可以一次性执行:
# 1. 进入安装目录
cd /opt/java
# 2. 查看文件
ls -la
# 3. 解压(根据实际文件名调整)
tar -xzf jdk-17.0.16_linux-x64_bin.tar.gz
# 4. 查看解压后的目录名
ls -la
# 5. 编辑配置文件
sudo vi /etc/profile
# 6. 在文件末尾添加(根据实际目录名调整):
# 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
# 7. 使配置生效
source /etc/profile
# 8. 验证安装
java -version
javac -version
echo $JAVA_HOME
如果不想手动安装,可以使用 apt 直接安装:
# 更新软件包列表
sudo apt update
# 安装 OpenJDK 17
sudo apt install -y openjdk-17-jdk
# 验证安装
java -version
javac -version
优点:
缺点:
本文详细介绍了在 Ubuntu 20.04 云服务器上安装 JDK 17 的完整流程:
关键配置点:
JAVA_HOME=/opt/java/jdk-17.0.16:JDK 安装路径PATH=$JAVA_HOME/bin:$PATH:将 Java 命令添加到系统路径source /etc/profile:使配置生效验证成功标志:
java -version 显示版本为 17javac -version 显示版本为 17echo $JAVA_HOME 显示正确的路径# 查看 Java 版本
java -version
# 查看 Java 编译器版本
javac -version
# 查看 JAVA_HOME
echo $JAVA_HOME
# 查看 Java 路径
which java
# 重新加载环境变量
source /etc/profile

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online