在Ubuntu系统中,通过命令行下载和安装JDK(Java Development Kit)是开发者常见的操作,以下是详细的步骤和注意事项,涵盖不同版本JDK的下载方式、环境变量配置及常见问题处理。

确定Ubuntu的架构和需要的JDK版本,Ubuntu支持32位(i386)和64位(amd64)系统,可通过uname -m命令查看当前架构,JDK版本分为OpenJDK(开源)和Oracle JDK(官方),前者在Ubuntu官方仓库中可直接安装,后者需从Oracle官网下载,以OpenJDK 11为例,通过apt安装最为便捷,执行sudo apt update更新软件包列表后,运行sudo apt install openjdk-11-jdk即可自动下载并安装,安装完成后,使用java -version和javac -version验证是否成功,若显示版本号则表示安装成功。
若需安装Oracle JDK,需手动下载安装包,访问Oracle官网JDK下载页面,根据系统架构选择对应的.tar.gz包(如Linux x64),使用wget命令下载,例如wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz,下载后,通过tar -xvf jdk-17_linux-x64_bin.tar.gz解压到指定目录,如/usr/local/java,创建该目录需sudo mkdir -p /usr/local/java,并设置权限sudo chown -R $USER:$USER /usr/local/java,接下来配置环境变量,编辑~/.bashrc文件,添加以下内容:
export JAVA_HOME=/usr/local/java/jdk-17 export PATH=$JAVA_HOME/bin:$PATH
保存后执行source ~/.bashrc使配置生效,最后同样通过java -version验证。
对于需要多个JDK版本切换的场景,可使用update-alternatives工具,安装OpenJDK 8和11后,执行sudo update-alternatives --config java选择默认版本,同理配置javac,若未安装该工具,需先运行sudo apt install update-alternatives。

下载过程中可能遇到网络问题,可通过wget的-c参数支持断点续传,或更换镜像源(如阿里云开源镜像),若下载速度过慢,可考虑使用axel等多线程下载工具,安装命令为sudo apt install axel,使用axel -n 10 [下载链接]加速。
以下是常见问题及解答:
FAQs:
-
Q: 安装JDK后,
java -version显示版本正确,但javac -version提示命令未找到,如何解决?
A: 这通常是因为javac未添加到系统PATH,检查~/.bashrc中的JAVA_HOME和PATH配置是否正确,确保$JAVA_HOME/bin包含在PATH中,配置后执行source ~/.bashrc,或重新登录终端,若问题依旧,可通过sudo update-alternatives --config javac手动指定javac路径。
(图片来源网络,侵删) -
Q: 如何卸载已安装的JDK?
A: 若通过apt安装(如OpenJDK),运行sudo apt purge openjdk-11-jdk并执行sudo apt autoremove清理残留文件,若为手动安装的Oracle JDK,需删除解压目录(如sudo rm -rf /usr/local/java/jdk-17)并编辑~/.bashrc移除相关环境变量配置,最后执行source ~/.bashrc使更改生效。
