Ubuntu下Java更新升级流程
~/.bashrc、/etc/environment)和项目代码,避免操作失误导致数据丢失。sudo apt update && sudo apt upgrade -y,确保系统软件包为最新状态,避免依赖冲突。运行java -version,终端会显示当前安装的Java版本(如openjdk version "11.0.15" 2022-04-19)及路径,确认当前版本以便后续对比。
若系统存在旧版本Java(如OpenJDK 8),可通过以下命令卸载(以openjdk-8-jdk为例): sudo apt-get remove --purge openjdk-8-jdk
此命令会删除Java相关配置文件,避免新旧版本冲突。
APT是Ubuntu官方包管理工具,操作简单且安全。步骤如下:
sudo apt install openjdk-17-jdk;sudo update-alternatives --config java,根据提示输入对应版本序号(如1代表/usr/lib/jvm/java-17-openjdk-amd64/bin/java),将其设为默认;java -version,确认显示为新版本(如openjdk version "17.0.8" 2023-07-18)。若需要Oracle JDK或特定版本,可通过以下步骤手动安装:
.tar.gz(Linux通用格式)或.deb(Ubuntu专用格式)文件;.tar.gz,运行sudo mkdir -p /usr/lib/jvm(创建Java安装目录),sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/jvm(解压到目标目录);~/.bashrc文件(nano ~/.bashrc),在末尾添加:export JAVA_HOME=/usr/lib/jvm/jdk-17 # 替换为实际路径 export PATH=$JAVA_HOME/bin:$PATH 保存后运行source ~/.bashrc使配置生效;java -version,确认显示为新版本。若需同时保留多个Java版本(如Java 8和Java 17),可使用以下工具快速切换:
update-alternatives(系统自带)sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1;sudo update-alternatives --config java,选择对应版本序号即可。jenv(第三方工具,推荐)jenv可更灵活地管理多版本Java,步骤如下:
git clone https://github.com/jenv/jenv.git ~/.jenv(克隆仓库),编辑~/.bashrc添加:export PATH="$HOME/.jenv/bin:$PATH" eval "$(jenv init -)" 运行source ~/.bashrc生效;jenv add /usr/lib/jvm/java-11-openjdk-amd64;jenv global 11.0,或局部版本(当前目录生效)jenv local 8.0;java -version,确认显示为所选版本。SDKMAN(第三方工具,适合开发人员)SDKMAN支持多种SDK管理(如Java、Maven),步骤如下:
curl -s "https://get.sdkman.io" | bash,然后运行source "$HOME/.sdkman/bin/sdkman-init.sh";sdk list java,查看可安装的Java版本;sdk install java 17.0.8-open;sdk default java 17.0.8-open,或当前终端使用sdk use java 8.0.392-open。无论使用哪种方法,最后都需运行java -version和javac -version(检查编译器版本),确认显示为新版本信息,确保升级成功。
ppa:openjdk/ppa)安装Java,避免使用未知来源的安装包;sudo apt install unattended-upgrades,并配置自动更新策略。