发布于2026-07-18 阅读(0)
扫一扫,手机访问
在Linux环境下更新Ja va,其实有几个关键点需要先理清楚。是沿着包管理器走最省心,还是手动安装获更灵活的控制权,取决于你的具体场景。下面这份指南,把几种主流方案都拆解了一遍,从检查准备到多版本切换,再到常见问题修复,争取一次性说透。

动手之前,先摸清当前环境。用以下命令确认已生效的Ja va版本和安装路径:
ja va -version、ja vac -version 查看版本号which ja va、which ja vac 定位可执行文件选定目标版本时,建议优先考虑LTS版本(比如Ja va 8、11、17、21),并选择OpenJDK或官方Oracle JDK的安全发布版。项目需求和生态兼容性,往往比赶时髦更重要。
用包管理器更新,系统会自动处理依赖和路径配置,是生产环境里最稳妥的选择。不同发行版的操作略有差异:
sudo apt update && sudo apt install openjdk-17-jdk。如果已安装的同包名版本需要升级,直接 sudo apt upgrade openjdk-17-jdk 即可。sudo yum install ja va-17-openjdk-devel 或 sudo dnf install ja va-17-openjdk-devel。sudo zypper install ja va-17-openjdk-devel。安装完成后,别忘了用 ja va -version 和 ja vac -version 验证一下。
如果需要更灵活的控制,比如并行安装多个JDK版本,或者想指定特定的构建版本,手动安装值得一试。
wget https://download.oracle.com/ja va/17/latest/jdk-17_linux-x64_bin.tar.gz,然后解压到系统目录:sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/local/。/etc/profile.d/jdk.sh 中配置全局环境变量。用 sudo nano /etc/profile.d/jdk.sh 编辑文件,写入以下内容:
export JA VA_HOME=/usr/local/jdk-17export PATH=$JA VA_HOME/bin:$PATHsource /etc/profile.d/jdk.sh 使其生效,再验证版本即可。手动安装的好处是路径和版本完全可控,但需要自己维护 JA VA_HOME 和 PATH,一旦配置不当,容易导致系统级工具找不到正确的Ja va。
开发中难免遇到多版本切换的场景,比如一个项目依赖Ja va 11,另一个需要Ja va 17。这时候,专用工具就派上用场了。
sudo update-alternatives --install /usr/bin/ja va ja va /usr/local/jdk-17/bin/ja va 2000sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/local/jdk-17/bin/ja vac 2000sudo update-alternatives --config ja va(同样对 ja vac 执行)。查看当前注册情况用 update-alternatives --display ja va,删除则用 sudo update-alternatives --remove ja va /usr/local/jdk-17/bin/ja va。curl -s "https://get.sdkman.io" | bash && source "$HOME/.sdkman/bin/sdkman-init.sh"。之后用 sdk install ja va 17.0.9-tem 安装,sdk use ja va 17.0.9-tem 临时切换,sdk default ja va 17.0.9-tem 设置全局默认。git clone https://github.com/jenv/jenv.git ~/.jenv && echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(jenv init -)"' >> ~/.bashrc && source ~/.bashrc。添加版本:jenv add /usr/lib/jvm/jdk-17,切换:jenv global 17 或 jenv local 11。多版本并存时,建议优先用这类工具统一管理,避免只改 PATH 导致系统调用和编译器版本不一致的尴尬。
更新完成后,验证环节不能省。重点检查以下三点:
ja va -version、ja vac -versionwhich ja va、readlink -f $(which ja va)(确认指向新版本)echo $JA VA_HOME、echo $PATH常见问题主要集中在以下几个方面:
/etc/profile.d/jdk.sh 或 ~/.bashrc),并执行了 source 重载。或者新开一个终端测试。update-alternatives --config ja va 统一默认版本,确保 ja va 和 ja vac 指向同一个JDK。sudo,并检查安装目录的权限。sudo apt remove openjdk-11-jdk 或 sudo yum remove ja va-11-openjdk 移除。手动安装的直接删除对应JDK目录即可(务必确认没有业务依赖)。ja va.home。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8