如何在Ubuntu VirtualBox中安装Java
在 Ubuntu VirtualBox 中安装 Ja va 的完整步骤

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
一 准备与系统更新
万事开头先打基础。在 VirtualBox 里装好 Ubuntu(64位)系统并启动后,第一件事就是更新软件包索引和系统本身。这能确保后续安装过程顺利,避免因软件源过旧导致的问题。
打开终端,执行这条命令:sudo apt update && sudo apt upgrade -y。完成后,你的系统就准备好了。
顺便提一句,为了让开发环境跑得更顺畅,建议给虚拟机分配至少 4GB 内存和 20GB 的磁盘空间。这点投入,对后续的体验提升非常明显。
二 方法一 使用 APT 安装 OpenJDK(推荐)
对于大多数开发者来说,通过 Ubuntu 自带的 APT 包管理器安装 OpenJDK 是最省心、最稳定的选择。依赖关系会自动处理,安装过程一气呵成。
如果你想安装长期支持、适用性最广的 OpenJDK 11,命令很简单:sudo apt install openjdk-11-jdk -y。
当然,如果你手头有需要兼容的旧项目,可能还需要 OpenJDK 8。安装命令是:sudo apt install openjdk-8-jdk -y。
安装完成后,别忘了验证一下。分别运行 ja va -version 和 ja vac -version,如果终端清晰地输出了版本信息,那就恭喜你,安装成功了。
总的来说,APT 安装法胜在简单稳定,是入门和常规开发的首选。
三 方法二 安装 Oracle JDK(手动解压配置)
有些场景下,你可能需要特定的版本,或者就是倾向于使用官方的 Oracle JDK。这时,手动安装的方式就派上用场了。虽然步骤稍多,但灵活性更高。
首先,你需要从 Oracle 官网下载对应版本的 Linux x64 的 .tar.gz 安装包,并想办法传到虚拟机里,比如放到 ~/Downloads 目录下。
接下来,在 Ubuntu 中打开终端,开始配置:
1. 创建一个目录来存放 JDK:sudo mkdir -p /usr/lib/jvm
2. 将下载的压缩包解压到这个目录。命令类似这样(请根据你实际的文件名调整):sudo tar -xvzf ~/Downloads/jdk-11.0.10_linux-x64_bin.tar.gz -C /usr/lib/jvm
3. 关键的一步是配置环境变量。编辑当前用户的配置文件:nano ~/.bashrc,然后在文件末尾添加以下两行(注意路径要替换成你解压出的实际目录名):
export JA VA_HOME=/usr/lib/jvm/jdk-11.0.10
export PATH=$JA VA_HOME/bin:$PATH
保存退出后,运行 source ~/.bashrc 让配置立即生效。
最后,同样用 ja va -version 和 ja vac -version 来验证安装是否成功。手动方式虽然繁琐一点,但能让你完全掌控安装的版本和路径。
四 多版本切换与环境验证
如果你在系统里安装了多个 Ja va 版本,比如同时有 OpenJDK 8 和 11,该怎么管理呢?Ubuntu 提供了一个非常方便的工具。
运行 sudo update-alternatives --config ja va,终端会列出所有已安装的 Ja va 版本,并提示你输入编号来选择默认使用的版本。切换就是这么简单。
环境到底能不能用?写个“Hello World”测一下最实在。这里有个快速验证的一行脚本:
echo 'public class HelloWorld{public static void main(String[]a){System.out.println("Hello, World!");}}' > HelloWorld.ja va
ja vac HelloWorld.ja va && ja va HelloWorld
如果终端爽快地打印出了“Hello, World!”,那就证明你的 Ja va 开发环境已经完全就绪,可以开始编码了。
五 常见问题与排错
走完上面的步骤,大部分朋友都能顺利安装。但万一遇到点小麻烦,可以参考下面这几个常见的“坑”和解决方法:
权限不足:在向 /usr/lib/jvm 这类系统目录写入文件时,记得在命令前加上 sudo。
命令未找到:安装后输入 ja va 却提示命令不存在?很可能是环境变量没生效。请确保执行了 source ~/.bashrc,或者重新打开一个终端窗口。
版本冲突:系统里有多个 Ja va,不知道哪个在生效?请再次祭出 update-alternatives --config ja va 这个管理神器,统一指定默认版本。
虚拟机性能:如果觉得编译或运行速度慢,可以尝试给虚拟机分配更多内存和 CPU 核心,或者将网络适配器设置为“桥接模式”,这有时能提升下载和网络访问体验。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Polars 自定义函数返回多列的正确实现方式
Polars 自定义函数返回多列的正确实现方式 在 Polars 中,自定义函数需直接返回多个 Expr 对象(而非 struct),再通过生成器表达式或字典解包动态重命名并注入列,才能高效、可扩展地添加多列。 在 Polars 数据处理中,如何通过自定义函数一次性生成多列数据?这是许多开发者都会遇
如何在Python中按每10个文件为一组批量处理CSV文件
Python批量处理CSV文件:每10个文件为一组的高效分组方法 本文详细讲解在Google Colab环境中,对有序命名的CSV文件(如M0000 csv至M0099 csv)进行智能分块处理的完整方案。通过Python代码实现每10个文件自动归为一组,读取全部文本内容并构建结构化数据容器,提升批
c#如何判断文件夹是否存在_c#判断文件夹是否存在深入理解与底层原理
Directory Exists() 仅判断路径是否存在且为目录,不检查访问权限;返回 true 不代表可读写,需结合异常捕获或实际操作验证权限,并注意长路径、UNC、符号链接及跨平台路径拼接问题。 Directory Exists() 是最直接的判断方式,但要注意它不检查权限 在C 编程中,Dir
golang如何实现任务优先级调度_golang任务优先级调度实现大全
用 container heap 实现带优先级的定时任务队列 用 container heap 实现带优先级的定时任务队列 Go语言的标准库确实没有开箱即用的优先级队列,但别担心,container heap 包已经为我们准备好了所有底层工具。这里的关键,其实不在于“堆怎么建”,而在于“任务怎么比”
如何通过命令行执行 PHAR 归档中的 PHP 文件
如何通过命令行执行 PHAR 归档中的 PHP 文件 本文详细解析在 RHEL 7 系统中,如何正确配置 PHAR 归档以同时支持 Web 访问与命令行独立执行(例如用于定时任务),重点解决执行 `php phar phar path to script php` 时出现“Could not ope
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

