当前位置: 首页
编程语言
Ubuntu系统升级Java版本详细步骤教程

Ubuntu系统升级Java版本详细步骤教程

热心网友 时间:2026-05-07
转载

Ubuntu 升级 Ja va 的可行方案

给 Ubuntu 系统升级 Ja va,听起来简单,但路径选择不对,后续管理起来可能就有点头疼了。别担心,下面这份从检查到验证的完整指南,能帮你理清思路,找到最适合你的那条路。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一 前置检查

动手之前,先摸清家底。这步做好了,后续升级才能心中有数。

  • 查看当前版本与路径:
    • 敲入 ja va -versionja vac -version,看看系统当前默认的运行时和编译器版本。
    • which ja va 找到 Ja va 命令的位置,再用 readlink -f "$(which ja va)" 追根溯源,找到实际的 JDK 安装路径。这能帮你理解系统是如何找到 Ja va 的。
  • 更新索引并确认可用包:
    • 执行 sudo apt update 刷新软件包列表。
    • 运行 apt search openjdk | grep jdk,看看官方仓库里有哪些 OpenJDK 版本可供选择。
  • 一个小建议: 在安装新版本前,除非你非常确定,否则先别急着移除旧版本。等新版本安装并验证无误后,再考虑清理,这样可以最大程度避免业务意外中断。

二 方法一 使用 APT 安装或升级 OpenJDK(推荐)

对于大多数桌面和服务器环境,这是最省心、最推荐的方式。APT 包管理器会帮你自动处理所有依赖关系。

  • 安装指定版本: 以安装 OpenJDK 17 为例,命令很简单:
    • sudo apt update
    • sudo apt install openjdk-17-jdk
    如果你需要的是 Ja va 8、11 或 21,只需将包名相应地替换为 openjdk-8-jdkopenjdk-11-jdkopenjdk-21-jdk 即可。
  • 验证安装:
    • 再次运行 ja va -versionja vac -version,确认输出已经变成了新安装的版本。

三 方法二 手动安装 Oracle JDK 或特定发行版

如果你需要 Oracle 官方的 JDK,或者某个特定的发行版(如 Temurin、Zulu),手动安装能给你最大的控制权。以 JDK 17 为例:

  • 下载并解压:
    • 使用 wget 下载压缩包:wget https://download.oracle.com/ja va/17/latest/jdk-17_linux-x64_bin.tar.gz
    • 创建一个集中目录:sudo mkdir -p /usr/local/ja va
    • 解压到该目录:sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/local/ja va
  • 注册到 alternatives 并切换默认版本: 这是让系统识别手动安装 JDK 的关键步骤。
    • 将 Ja va 和 Ja vac 命令注册到 alternatives 系统: sudo update-alternatives --install /usr/bin/ja va ja va /usr/local/ja va/jdk-17/bin/ja va 100 sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/local/ja va/jdk-17/bin/ja vac 100
    • 运行 sudo update-alternatives --config ja vasudo update-alternatives --config ja vac,从交互列表中选择刚注册的版本。
  • 设置环境变量: 确保应用能正确找到 JA VA_HOME。
    • 全局设置(影响所有用户): 编辑 /etc/environment 文件,添加: JA VA_HOME="/usr/local/ja va/jdk-17" PATH="$JA VA_HOME/bin:$PATH" 执行 source /etc/environment 或重新登录使生效。
    • 当前用户设置: 编辑你的 ~/.bashrc~/.zshrc 文件,添加: export JA VA_HOME=/usr/local/ja va/jdk-17 export PATH=$JA VA_HOME/bin:$PATH 执行 source ~/.bashrcsource ~/.zshrc 使生效。
  • 验证:
    • 检查版本:ja va -version, ja vac -version
    • 确认路径:echo $JA VA_HOME

四 方法三 多版本共存与切换工具

开发中经常需要在不同项目间切换 Ja va 版本,以下几个工具能让这件事变得轻松。

  • 使用系统 alternatives(系统级、简单可靠):
    • 查看已注册版本:update-alternatives --display ja va
    • 交互式切换:sudo update-alternatives --config ja va
    • 如果需要,用同样方式切换编译器:sudo update-alternatives --config ja vac
  • 使用 jEnv(开发场景、多版本管理更灵活): 这是一个专门管理多版本 Ja va 的命令行工具。
    • 安装:git clone https://github.com/jenv/jenv.git ~/.jenv
    • 初始化(以 bash 为例): echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(jenv init -)"' >> ~/.bashrc source ~/.bashrc
    • 添加 JDK:jenv add /usr/lib/jvm/ja va-11-openjdk-amd64(路径请替换为你的实际路径)
    • 切换:jenv global 11(全局生效)或 jenv local 11(仅在当前目录生效)
  • 使用 SDKMAN(WSL/Ubuntu 开发强烈推荐,支持项目级 .sdkmanrc): 功能更强大的多版本管理工具,支持多种 SDK。
    • 安装:curl -s "https://get.sdkman.io" | bash && source "$HOME/.sdkman/bin/sdkman-init.sh"
    • 安装与切换:sdk install ja va 17.0.10-temsdk use ja va 17.0.10-temsdk default ja va 17.0.10-tem
    • 项目级自动切换: 在项目根目录执行 sdk env init 生成 .sdkmanrc 文件,之后每次进入该项目目录,SDKMAN 会自动切换到指定的 JDK 版本,非常方便。

五 验证与常见问题处理

升级完成,别急着收工,做好验证才能高枕无忧。

  • 验证要点:
    • ja va -versionja vac -version 的输出必须一致,且都是你刚安装的目标版本。
    • which ja vareadlink -f "$(which ja va)" 的指向应该符合预期,通常是 /usr/bin/ja va -> /etc/alternatives/ja va -> 实际 JDK 的 bin/ja va 这个链条。
    • echo $JA VA_HOME 的路径必须与你选择的 JDK 安装目录完全一致。
  • 常见问题与修复:
    • 版本冲突或未切换成功: 重新运行 sudo update-alternatives --config ja va 进行选择。如果编译也有问题,记得同时配置 ja vac
    • 环境变量未生效: 确认你修改的是当前正在使用的 shell 配置文件(比如你用 zsh 却改了 bashrc),并执行了 source 命令或重新登录了终端。
    • 特定应用仍用旧版本: 一些应用(如 Tomcat)有独立的配置文件。检查其配置(例如 Tomcat 的 /etc/default/tomcat 中的 JA VA_HOME),修改后重启应用。
    • 清理旧版本:确认所有业务都不再依赖旧版本后,可以安全卸载,例如:sudo apt remove openjdk-8-jdk
来源:https://www.yisu.com/ask/78608930.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Notepad++批量修改文件后缀名脚本使用教程

Notepad++批量修改文件后缀名脚本使用教程

Notepad++无法直接批量修改文件后缀,通常需借助插件调用系统命令实现。对于简单情况,可使用NppExec插件配合cmd命令处理;若涉及多层目录或复杂条件,则建议编写Python脚本进行递归操作。需注意文件占用可能导致失败,且修改后缀可能影响系统关联和编辑器识别。

时间:2026-05-07 13:27
Linux下Rust代码编译问题排查与解决指南

Linux下Rust代码编译问题排查与解决指南

在Linux中,如果Rust编译出错,你可以按照以下步骤进行排查和解决: 阅读错误信息: Rust编译器给出的错误信息通常非常详实,不仅会标明错误类型,还会精确到文件和行号。第一步,务必静下心来仔细读一读这些提示,它们往往能直接帮你定位到问题的根源。 检查代码语法: Rust的语法规则相对严谨,有时

时间:2026-05-07 13:26
Ubuntu系统JSP代码优化方法与实战技巧

Ubuntu系统JSP代码优化方法与实战技巧

Ubuntu上JSP代码与运行时一体化优化指南 想让老派的JSP应用在Ubuntu上跑得又快又稳?这事儿不单是写写代码就行,得从代码、配置到运行时整个链路都做通盘考虑。下面这份优化指南,就是给这类项目开的一剂综合药方。 一 代码与页面层优化 这一层的核心思路是“各司其职”,让前端页面和后端逻辑都回归

时间:2026-05-07 13:26
Docker与常见技术栈集成方法及实践指南

Docker与常见技术栈集成方法及实践指南

Linux Docker 的常见集成方式 玩转Docker容器,如果只是单打独斗,那可有点小瞧它了。它真正的潜力,往往在于与生态中其他“伙伴”的紧密协作。通过灵活的集成,它能迸发出远超单个工具的能量。下面这几种常见的组合拳,或许能帮你打开新思路。 1 Kubernetes:不只是编排,更是自动化管

时间:2026-05-07 13:26
Linux vsFTP性能评测与主流FTP服务器软件对比分析

Linux vsFTP性能评测与主流FTP服务器软件对比分析

Linux vsftpd 性能对比与选型建议 结论与定位 当我们谈论面向高并发、长时间稳定运行的生产级FTP服务时,一个名字总是绕不开:vsftpd。在相同的硬件与网络舞台上,这款服务器以其极致的轻量与稳定,展现了令人印象深刻的实力。社区的多项测试与资料显示,它在单机(非集群)部署下就能轻松撑起40

时间:2026-05-07 13:26
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程