Ubuntu系统如何升级Java版本
导读: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
- 全局:编辑 /etc/environment
- 验证:
- 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
