Linux系统安装JDK配置JAVA环境变量详细图文教程

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
在Linux系统中部署Java应用时,最常见的两个报错就是“command not found”和“JA VA_HOME not set”。这通常表明系统尚未安装Java开发工具包(JDK),或者环境变量配置不正确。别担心,只需按照清晰的步骤操作,即可快速搭建完整的Java运行环境。
一、通过APT包管理器安装OpenJDK(适用于Ubuntu/Debian系统)
对于Ubuntu、Debian及其衍生发行版,使用APT包管理器安装OpenJDK是最便捷高效的方式。系统会自动处理所有依赖关系,并提供经过长期支持(LTS)的稳定版本。
首先,更新本地软件包索引,确保获取到最新的版本信息:
sudo apt update
接下来,安装默认的JDK包。目前主流推荐安装OpenJDK 17或更高版本:
sudo apt install default-jdk
安装完成后,务必进行验证。在终端中分别执行以下命令:
ja va -version
ja vac -version
如果终端正确显示了Java和Java编译器的版本信息,则表明安装成功。
二、手动下载并安装Oracle JDK或OpenJDK(通用方法)
若您需要特定的JDK版本(例如经典的JDK 8或最新的JDK 21),或者希望使用Oracle官方JDK,手动安装提供了最大的灵活性。此方法适用于几乎所有Linux发行版。
第一步,访问Oracle官网或OpenJDK官方站点,下载对应您系统架构(如x64)的.tar.gz压缩包,例如jdk-17.0.1_linux-x64_bin.tar.gz。
第二步,创建一个标准的Java安装目录,并将下载的压缩包解压至此:
sudo mkdir -p /usr/lib/jvm
sudo tar -xzf jdk-17.0.1_linux-x64_bin.tar.gz -C /usr/lib/jvm/
解压完成后,确认目录内容:
ls /usr/lib/jvm/
您应该能看到一个类似jdk-17.0.1的文件夹。请记下此文件夹的完整路径,后续配置环境变量时需要用到。
三、配置JA VA_HOME环境变量(全局生效)
仅安装JDK是不够的。许多Java工具和服务器(如Maven、Tomcat、Gradle)都依赖JA VA_HOME环境变量来定位JDK的安装位置。若希望所有系统用户都能使用,需配置系统级环境变量。
使用文本编辑器打开系统环境配置文件:
sudo nano /etc/environment
在文件末尾添加以下行(请务必将路径替换为您实际的JDK安装路径):
JA VA_HOME="/usr/lib/jvm/jdk-17.0.1"
保存并退出编辑器后,立即加载此配置文件使设置生效:
source /etc/environment
随后进行验证:
echo $JA VA_HOME
如果终端正确输出了您设置的路径,则表明全局环境变量配置成功。
四、配置JA VA_HOME环境变量(仅当前用户生效)
如果您没有管理员权限,或者只想为当前用户配置Java环境而不影响系统其他用户,可以修改用户级的Shell配置文件。
首先,查看当前使用的Shell类型:
echo $SHELL
常见的结果是/bin/bash或/bin/zsh。然后编辑对应的配置文件:
如果是bash:nano ~/.bashrc
如果是zsh:nano ~/.zshrc
在文件末尾添加以下两行(同样,请替换为您自己的JDK路径):
export JA VA_HOME=/usr/lib/jvm/jdk-17.0.1
export PATH=$JA VA_HOME/bin:$PATH
保存后,执行以下命令使配置立即生效:
source ~/.bashrc (或 source ~/.zshrc)
最后,使用ja va -version和echo $JA VA_HOME双重命令验证,确保环境已准备就绪。
五、全面验证JDK安装与环境变量配置
完成安装和配置后,需要进行全面检查,以确保JDK与环境变量协同工作正常。
首先,检查系统调用的ja va命令的实际位置:
which ja va
理想的输出结果应为$JA VA_HOME/bin/ja va或其软链接路径。
其次,确认JA VA_HOME路径下包含关键的bin(二进制文件)和lib(库文件)目录:
ls -d $JA VA_HOME/bin $JA VA_HOME/lib
若能正常列出这两个目录,则说明路径设置准确无误。
最后,通过一个简单的Java程序进行实战测试。创建一个测试文件:
nano Hello.ja va
写入以下Java代码:
public class Hello {
public static void main(String[] args) {
System.out.println("OK");
}
}
保存文件后,编译并运行它:
ja vac Hello.ja va && ja va Hello
如果终端成功打印出“OK”字样,那么恭喜您,从JDK安装、环境变量配置到程序编译运行,整个Linux Java开发环境已成功搭建并验证通过。
相关攻略
在Linux系统安装Java环境需解决JDK安装与环境变量配置问题。可通过APT包管理器自动安装OpenJDK,或手动下载特定版本解压安装。关键步骤是正确设置JAVA_HOME系统或用户级环境变量,并通过版本检查与简单程序测试验证安装结果。
静态代码块在Java类加载的初始化阶段执行,仅一次且线程安全,适合进行一次性全局准备工作。典型应用包括驱动注册、配置预加载和轻量级单例初始化。使用时需避免耗时操作、循环依赖和系统级配置,并注意其无法参数化。对于依赖容器、按需加载或复杂生命周期的场景,应考虑其他机制。
Collections singletonList()能创建内存高效的单元素不可变列表。其内部设计精简,仅持有一个元素字段,相比ArrayList或Arrays asList避免了数组等额外开销。它适用于只读、单值且无需修改的场景,如作为方法返回值或默认值。但需注意,该列表完全不可变,任何修改操作都会抛出异常。
Java密封类体系为领域驱动设计提供了优雅方案。通过sealedinterface定义领域契约、record实现不可变变体、switch强制穷尽处理,使业务概念的“有限、封闭、不可变”特性由编译器保障。该模式在跨上下文协作时能自动形成防腐层,防止领域概念腐化,让类型系统成为业务规则的主动执行者。
在Java编程中,处理字符串搜索任务时,String indexOf()方法是一个无法回避的核心基础。然而,许多开发者在初次尝试用它同时匹配多个关键词时,都会面临一个典型挑战:该方法本身并不直接支持“多关键词同时查询”。这并非其功能缺陷,恰恰相反,通过深入理解并巧妙运用其fromIndex参数进行循
热门专题
热门推荐
本文详细介绍了在Gate io平台购买USDT的完整操作流程。内容涵盖注册与账户安全设置、法币入金渠道选择、购买USDT的具体步骤以及后续的资产管理建议。旨在为用户提供清晰、安全的操作指引,帮助新手顺利完成从注册到持有USDT的全过程,并强调了风险管理和资金安全的重要性。
随着加密货币市场不断发展,交易平台竞争日趋激烈。本文探讨了欧易(OKX)在2026年可能的市场地位,分析了其核心优势如产品矩阵、安全风控与合规进展,并展望了其在DeFi、Layer2等领域的布局。平台的发展不仅依赖于技术迭代,更需在用户体验与全球化合规中取得平衡,以适应快速变化的行业环境。
Poki平台提供超过两千款免费HTML5小游戏,无需下载和注册,即点即玩。平台支持中文界面与多终端适配,游戏分类细致,运行流畅稳定。所有内容完全免费,无强制广告,适合各类玩家随时休闲娱乐。
在《我的世界》基岩版中,可通过开启作弊权限后使用 locatestructurestronghold指令定位要塞(即地牢),获取坐标后利用 tp@sX128Z传送至目标上方,垂直向下挖掘进入要塞内部,最终找到由黑曜石框架构成的末地传送门房间。若无法使用指令,也可借助第三方地图工具读取存档直接查找要塞位置。
本文介绍了如何查看和理解Upbit交易平台的手续费结构。内容涵盖了手续费的基本查看方法,包括交易、充值和提现等不同环节的费用说明。同时,分析了影响手续费的因素,如交易对类型和用户等级,并提供了通过优化交易策略来降低手续费成本的实用建议,帮助用户更高效地使用平台进行数字资产交易。





