游乐游手机版
首页/编程语言/文章详情

Java在Ubuntu上如何安装

时间:2026-04-25 16:29
在 Ubuntu 上安装 Ja va 的简明步骤 一 安装 OpenJDK(推荐) 对于绝大多数用户来说,通过 Ubuntu 自带的 APT 包管理器安装 OpenJDK,是最简单、最可靠的选择。整个过程可以概括为三步。 首先,更新软件包索引并安装默认的 JDK 版本。这个默认版本通常是当前 Ubu

在 Ubuntu 上安装 Ja va 的简明步骤

Ja va在Ubuntu上如何安装

一 安装 OpenJDK(推荐)

对于绝大多数用户来说,通过 Ubuntu 自带的 APT 包管理器安装 OpenJDK,是最简单、最可靠的选择。整个过程可以概括为三步。

首先,更新软件包索引并安装默认的 JDK 版本。这个默认版本通常是当前 Ubuntu LTS 版本所维护的 OpenJDK,兼容性最好。

sudo apt update
sudo apt install default-jdk

当然,如果你有特定的版本需求,比如项目要求使用 Ja va 11 或 17,也可以直接安装对应的包,非常灵活。

sudo apt install openjdk-11-jdk
sudo apt install openjdk-17-jdk
sudo apt install openjdk-8-jdk

安装完成后,别忘了验证一下。在终端里运行下面两个命令,如果能看到对应的版本号信息,就说明一切顺利。

ja va -version
ja vac -version

总的来说,这套 APT 方案胜在省心,系统会自动处理依赖和更新,非常适合日常开发和生产环境。

二 安装 Oracle JDK(可选)

有些场景下,你可能需要官方的 Oracle JDK。别担心,在 Ubuntu 上获取它也有两条成熟的路径可选。

方式 A:通过 PPA 安装(便捷)
过去,最方便的方法是添加第三方维护的 PPA 仓库。以经典的 Ja va 8 为例,命令序列如下:

sudo apt install software-properties-common
sudo add-apt-repository ppa:webupd8team/ja va
sudo apt update
sudo apt install oracle-ja va8-installer
sudo apt install oracle-ja va8-set-default # 设为默认

不过需要提醒的是,随着 Ubuntu 版本的迭代,一些较老的 PPA 可能已经停止维护。如果你在执行时遇到问题,那么手动安装会是更通用的选择。

方式 B:手动安装(通用)
这条路虽然步骤稍多,但适用于所有情况。首先,从 Oracle 官网下载 Linux 版的 .tar.gz 安装包,然后将其解压到系统目录,比如 /opt/usr/local

sudo mkdir -p /opt/jdk
sudo tar -xzf jdk-11.0.2_linux-x64_bin.tar.gz -C /opt/jdk

接下来是关键一步:使用 update-alternatives 工具将解压后的 Ja va 可执行文件注册到系统,并设置为默认版本。

sudo update-alternatives --install /usr/bin/ja va ja va /opt/jdk/jdk-11.0.2/bin/ja va 1
sudo update-alternatives --install /usr/bin/ja vac ja vac /opt/jdk/jdk-11.0.2/bin/ja vac 1
sudo update-alternatives --config ja va
sudo update-alternatives --config ja vac

最后,同样用 ja va -version 验证安装是否成功。手动安装虽然略显繁琐,但能让你对 Ja va 的安装位置和管理方式有完全的控制权。

三 配置 JA VA_HOME 与 PATH

安装好 JDK 只是第一步,正确配置环境变量才能让系统和各种开发工具(比如 Ma ven、Gradle)顺利找到它。这个配置过程其实很有条理。

首先,你需要确定 JDK 的实际安装路径。有两个常用命令可以帮你:

sudo update-alternatives --config ja va # 从列表中选择并确认路径
readlink -f /usr/bin/ja va # 直接解析 ja va 的符号链接

得到路径后(例如 OpenJDK 11 的常见路径是 /usr/lib/jvm/ja va-11-openjdk-amd64),将其设置为全局环境变量。

echo 'JA VA_HOME="/usr/lib/jvm/ja va-11-openjdk-amd64"' | sudo tee -a /etc/environment
echo 'PATH="$JA VA_HOME/bin:$PATH"' | sudo tee -a /etc/environment
source /etc/environment

配置完成后,务必做一次检查。运行下面几个命令,确保 JA VA_HOME 指向正确,并且 Ja va 命令能被正常找到。

echo $JA VA_HOME
which ja va
ja va -version

这一步看似基础,却是避免后续各种“找不到命令”问题的关键。

四 多版本共存与切换

开发中经常需要切换不同的 Ja va 版本,好在 Ubuntu 提供了优雅的管理工具。使用 update-alternatives 可以轻松列出所有已注册的 Ja va 版本,并交互式地切换默认版本。

sudo update-alternatives --config ja va
sudo update-alternatives --config ja vac

如果你需要对不同命令(如 ja vaja vac)设置更精细的优先级,可以在注册时指定不同的优先级数值——数值越大,优先级越高。这套机制让多版本管理变得清晰可控。

五 常见问题与排查

即使按照步骤操作,偶尔也可能遇到小麻烦。这里有几个快速排查的思路:

安装失败或找不到包:首先尝试运行 sudo apt update 刷新软件源列表。如果问题依旧,可能是网络或软件源配置问题,可以考虑更换为国内的镜像源再试。

命令未找到或版本不对:这通常是环境变量问题。检查 echo $PATH 的输出是否包含了你的 $JA VA_HOME/bin 目录,同时确认 JA VA_HOME 变量是否指向了正确的 JDK 安装路径。

多个版本冲突:当系统中有多个 Ja va 时,最干净的解决方案就是使用 sudo update-alternatives --config ja va 来统一管理和切换默认版本,而不是手动修改符号链接。

遵循以上路径,从安装、配置到故障排查,你应该能在 Ubuntu 系统上搭建起一个稳定且灵活的 Ja va 开发环境。

来源:https://www.yisu.com/ask/58532040.html
上一篇JavaLambda表达式深度解析 下一篇如何在Ubuntu用Python进行机器学习
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
如何在ThinkPHP中实现定时任务与命令行调度方法
编程语言 · 2026-07-04

如何在ThinkPHP中实现定时任务与命令行调度方法

用ThinkPHP实现定时任务时,很多开发者第一步就卡在命令行报错上,直接输入php think your:command却无法识别——这种情况绝大多数是因为命令类的注册方式存在问题。下面先梳理几个核心要点。 ThinkPHP 6 中 think 命令如何正确触发自定义指令 直接运行 php thi

ThinkPHP API接口防重放攻击实现方法
编程语言 · 2026-07-04

ThinkPHP API接口防重放攻击实现方法

先说几个核心判断:API防重放攻击这件事,做对了是道防火墙,做错了就是个心理安慰。很多开发者到踩坑了才明白——验签这东西,放错位置、漏掉字段、存错nonce,每一环都能让整个安全体系直接归零。 验签必须放在中间件里,不能在控制器里写 ThinkPHP 的请求生命周期中,中间件是唯一能在路由匹配、参数

ThinkPHP文件上传必须验证扩展名安全必要性分析
编程语言 · 2026-07-04

ThinkPHP文件上传必须验证扩展名安全必要性分析

在使用ThinkPHP进行文件上传时,ext扩展名验证通常是开发者首先接触的关键环节。但你真的了解它的实际工作原理吗?它仅比对文件名后缀,而不读取文件内容,甚至对空格和大小写都极其敏感。更为重要的是——它是TP文件上传验证五层防线中不可忽视的第一道关卡,一旦配置遗漏,整个validate验证链将直接

ThinkPHP关联模型自动写入与更新使用教程
编程语言 · 2026-07-04

ThinkPHP关联模型自动写入与更新使用教程

需要明确的是,ThinkPHP关联模型并没有提供所谓的“自动写入 更新”魔法开关。所谓的“自动”功能,实际上都需要开发者手动编写配置逻辑才能生效。核心原则在于:主模型和从模型必须分开独立处理,时间戳字段和业务字段需依靠修改器或钩子接管;批量操作则要规规矩矩地绕过模型逻辑来执行——只有理解透彻这些要点

BoxLayout中仅居中一个组件其他默认左对齐
编程语言 · 2026-07-04

BoxLayout中仅居中一个组件其他默认左对齐

在 Java Swing 中使用 BoxLayout 的 Y_AXIS 方向布局时,很多初学者容易掉进一个常见陷阱:希望将某个组件单独设置为中心对齐,但当调用 `setAlignmentX(CENTER_ALIGNMENT)` 后,却发现其他组件也跟着发生了偏移,完全达不到预期效果。实际上,关键之处