当前位置: 首页
编程语言
如何在Ubuntu VirtualBox中安装Java

如何在Ubuntu VirtualBox中安装Java

热心网友 时间:2026-05-05
转载

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

如何在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 -versionja 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 -versionja 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 核心,或者将网络适配器设置为“桥接模式”,这有时能提升下载和网络访问体验。

来源:https://www.yisu.com/ask/34697900.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Polars 自定义函数返回多列的正确实现方式

Polars 自定义函数返回多列的正确实现方式

Polars 自定义函数返回多列的正确实现方式 在 Polars 中,自定义函数需直接返回多个 Expr 对象(而非 struct),再通过生成器表达式或字典解包动态重命名并注入列,才能高效、可扩展地添加多列。 在 Polars 数据处理中,如何通过自定义函数一次性生成多列数据?这是许多开发者都会遇

时间:2026-05-05 18:21
如何在Python中按每10个文件为一组批量处理CSV文件

如何在Python中按每10个文件为一组批量处理CSV文件

Python批量处理CSV文件:每10个文件为一组的高效分组方法 本文详细讲解在Google Colab环境中,对有序命名的CSV文件(如M0000 csv至M0099 csv)进行智能分块处理的完整方案。通过Python代码实现每10个文件自动归为一组,读取全部文本内容并构建结构化数据容器,提升批

时间:2026-05-05 18:21
c#如何判断文件夹是否存在_c#判断文件夹是否存在深入理解与底层原理

c#如何判断文件夹是否存在_c#判断文件夹是否存在深入理解与底层原理

Directory Exists() 仅判断路径是否存在且为目录,不检查访问权限;返回 true 不代表可读写,需结合异常捕获或实际操作验证权限,并注意长路径、UNC、符号链接及跨平台路径拼接问题。 Directory Exists() 是最直接的判断方式,但要注意它不检查权限 在C 编程中,Dir

时间:2026-05-05 18:21
golang如何实现任务优先级调度_golang任务优先级调度实现大全

golang如何实现任务优先级调度_golang任务优先级调度实现大全

用 container heap 实现带优先级的定时任务队列 用 container heap 实现带优先级的定时任务队列 Go语言的标准库确实没有开箱即用的优先级队列,但别担心,container heap 包已经为我们准备好了所有底层工具。这里的关键,其实不在于“堆怎么建”,而在于“任务怎么比”

时间:2026-05-05 18:21
如何通过命令行执行 PHAR 归档中的 PHP 文件

如何通过命令行执行 PHAR 归档中的 PHP 文件

如何通过命令行执行 PHAR 归档中的 PHP 文件 本文详细解析在 RHEL 7 系统中,如何正确配置 PHAR 归档以同时支持 Web 访问与命令行独立执行(例如用于定时任务),重点解决执行 `php phar phar path to script php` 时出现“Could not ope

时间:2026-05-05 18:21
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程