首页主机资讯Ubuntu系统如何升级Java版本

Ubuntu系统如何升级Java版本

时间2026-01-22 01:30:05发布访客分类主机资讯浏览564
导读:Ubuntu 升级 Java 的可行方案 一 前置检查 查看当前版本与路径: java -version javac -version which java readlink -f “$(which java ” 更新索引并确认可用...

Ubuntu 升级 Java 的可行方案

一 前置检查

  • 查看当前版本与路径:
    • java -version
    • javac -version
    • which java
    • readlink -f “$(which java)”
  • 更新索引并确认可用包:
    • sudo apt update
    • apt search openjdk | grep jdk
  • 建议先保留旧版本,完成验证后再移除,避免业务中断。

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

  • 安装指定版本(示例为 OpenJDK 17;如需 Java 8/11/21,替换为 openjdk-8-jdk/openjdk-11-jdk/openjdk-21-jdk):
    • sudo apt update
    • sudo apt install openjdk-17-jdk
  • 验证:
    • java -version
    • javac -version
  • 说明:APT 会自动处理依赖,适合大多数桌面与服务器环境。

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

  • 下载并解压(以 JDK 17 为例):
    • wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
    • sudo mkdir -p /usr/local/java
    • sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java
  • 注册到 alternatives 并切换默认版本:
    • sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk-17/bin/java 100
    • sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk-17/bin/javac 100
    • sudo update-alternatives --config java
    • sudo update-alternatives --config javac
  • 设置环境变量(全局或当前用户):
    • 全局:编辑 /etc/environment
      • JAVA_HOME=“/usr/local/java/jdk-17”
      • PATH=“$JAVA_HOME/bin:$PATH”
      • 使生效:source /etc/environment 或重新登录
    • 当前用户:编辑 ~/.bashrc~/.zshrc
      • export JAVA_HOME=/usr/local/java/jdk-17
      • export PATH=$JAVA_HOME/bin:$PATH
      • 使生效:source ~/.bashrc 或 source ~/.zshrc
  • 验证:
    • java -version
    • javac -version
    • echo $JAVA_HOME。

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

  • 使用系统 alternatives(系统级、简单可靠):
    • 查看:update-alternatives --display java
    • 交互选择:sudo update-alternatives --config java
    • 如需同时切换编译器:sudo update-alternatives --config javac
  • 使用 jEnv(开发场景、多版本管理更灵活):
    • 安装:git clone https://github.com/jenv/jenv.git ~/.jenv
    • 初始化(bash/zsh):echo ‘export PATH=“$HOME/.jenv/bin:$PATH”’ > > ~/.bashrc;echo ‘eval “$(jenv init -)”’ > > ~/.bashrc;source ~/.bashrc
    • 添加 JDK:jenv add /usr/lib/jvm/java-11-openjdk-amd64(路径以实际为准)
    • 切换:jenv global 11 或 jenv local 11(项目目录生效)
  • 使用 SDKMAN(WSL/Ubuntu 开发强烈推荐,支持项目级 .sdkmanrc):
    • 安装:curl -s “https://get.sdkman.io” | bash & & source “$HOME/.sdkman/bin/sdkman-init.sh”
    • 安装与切换:sdk install java 17.0.10-tem;sdk use java 17.0.10-tem;sdk default java 17.0.10-tem
    • 项目级:在项目根目录执行 sdk env init,生成 .sdkmanrc,之后 cd 进项目自动切到指定 JDK。

五 验证与常见问题处理

  • 验证要点:
    • java -version 与 javac -version 输出应一致且为目标版本
    • which java 与 readlink -f “$(which java)” 应指向期望的 /usr/bin/java -> /etc/alternatives/java -> 实际 JDK bin/java
    • echo $JAVA_HOME 应与所选 JDK 一致
  • 常见问题与修复:
    • 版本冲突或未切换成功:用 sudo update-alternatives --config java 重新选择;必要时同时配置 javac
    • 环境变量未生效:确认修改的是当前使用的 shell 配置文件(~/.bashrc、~/.zshrc 或 /etc/environment),并执行 source 或重新登录
    • 特定应用仍用旧版本:检查应用配置(如 Tomcat /etc/default/tomcat 中的 JAVA_HOME),修改后重启应用
    • 清理旧版本(确认业务无依赖后再卸载):sudo apt remove openjdk-8-jdk(示例)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu系统如何升级Java版本
本文地址: https://pptw.com/jishu/789360.html
Ubuntu主机名如何保存 Ubuntu系统如何查看Java安装情况

游客 回复需填写必要信息