Ubuntu系统设置Java默认版本的详细步骤
Ubuntu 设置 Ja va 默认版本
在 Ubuntu 系统上管理多个 Ja va 版本,是开发者常会遇到的任务。无论是为了项目兼容,还是尝鲜新特性,掌握如何优雅地切换默认版本,都算是一项基本功。下面就来梳理一下从系统全局到具体应用的全套设置方法。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
一 使用 update-alternatives 切换默认版本
这是最核心、最推荐的系统级切换方法。它通过一个统一的配置系统来管理不同版本的命令链接。
- 查看与选择默认 ja va
- 列出可用版本:在终端执行
sudo update-alternatives --config ja va。系统会列出所有已注册的 Ja va 版本,并提示当前默认的是哪一个。 - 接下来,只需要在交互界面中输入对应版本的编号,然后回车确认,切换就完成了。如果想查看更详细的链接信息,可以使用
update-alternatives --display ja va。
- 列出可用版本:在终端执行
- 同时切换编译器(可选但推荐)
- 为了保证编译环境与运行环境一致,最好也同步切换
ja vac。命令如出一辙:sudo update-alternatives --config ja vac。
- 为了保证编译环境与运行环境一致,最好也同步切换
- 验证
- 切换完成后,别忘了验证一下。分别运行
ja va -version和ja vac -version,输出的版本号应该就是你刚才选择的那一个。
- 切换完成后,别忘了验证一下。分别运行
二 若版本未纳入 alternatives 的注册方法
有时候,你手动安装或通过其他方式获取的 JDK 可能没有被自动注册到 update-alternatives 系统中。这时,就需要我们手动把它“加进去”。
- 手动注册 ja va 与 ja vac
- 注册命令的格式是固定的,关键在于提供正确的 JDK 可执行文件路径。以 Ja va 11 为例(请务必替换为你自己的实际安装路径):
sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja va 100sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja vac 100 - 这里的数字 “100” 是优先级,数字越大优先级越高。当系统自动选择时,会优先使用优先级高的版本。
- 注册命令的格式是固定的,关键在于提供正确的 JDK 可执行文件路径。以 Ja va 11 为例(请务必替换为你自己的实际安装路径):
- 注册成功后,再执行一遍
sudo update-alternatives --config ja va,就能在列表里看到新加入的版本并进行选择了。
三 设置 JA VA_HOME 与 PATH(可选)
很多构建工具(如 Ma ven、Gradle)和应用程序会依赖 JA VA_HOME 环境变量来定位 Ja va 安装位置。设置它能避免很多不必要的麻烦。
- 全局对所有用户(/etc/environment)
- 编辑全局环境变量文件:
sudo nano /etc/environment。 - 在文件末尾添加一行,例如:
JA VA_HOME="/usr/lib/jvm/ja va-11-openjdk-amd64"(路径请按实际情况修改)。 - 要让这个设置立即生效,可以运行
source /etc/environment,或者更简单地——重新登录一下系统。
- 编辑全局环境变量文件:
- 当前用户(~/.bashrc 或 ~/.zshrc)
- 如果只想为当前用户设置,可以编辑用户主目录下的 shell 配置文件(根据你使用的 shell 选择 .bashrc 或 .zshrc)。
- 在文件末尾追加以下两行:
export JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64export PATH=$JA VA_HOME/bin:$PATH
- 保存后,执行
source ~/.bashrc或source ~/.zshrc使其生效。
- 验证:通过
echo $JA VA_HOME可以检查变量是否设置正确,再结合ja va -version确认版本。
四 特定应用与 IDE 的版本指定
即使设置了系统默认版本,有些应用还是“有自己想法”。它们往往提供了独立的配置项,优先级高于系统设置。
- 服务或应用
- 以 Tomcat 为例,你可以在其配置文件(如
/etc/default/tomcat)中显式设置JA VA_HOME。修改后,记得重启服务:sudo systemctl restart tomcat。
- 以 Tomcat 为例,你可以在其配置文件(如
- IDE
- IntelliJ IDEA:进入 File → Project Structure → Project,在 “Project SDK” 下拉菜单中选择或添加所需的 JDK。
- Eclipse:通过 Window → Preferences → Ja va → Installed JREs,添加并勾选你想要使用的 JDK。
五 常见问题与快速排查
操作过程中如果遇到问题,不妨先看看这里有没有解决方案。
- 命令未找到或未列出版本
- 最可能的原因是你想要的版本压根没安装。使用 apt 命令安装即可,例如:
sudo apt update && sudo apt install openjdk-11-jdk(将 11 替换为 8、17 等其他版本号)。
- 最可能的原因是你想要的版本压根没安装。使用 apt 命令安装即可,例如:
- 环境变量不生效
- 首先检查配置文件语法是否正确,特别是引号和等号。确认后,务必执行了
source命令或开启了新的终端会话。用echo $JA VA_HOME和which ja va对比一下路径,往往能发现问题所在。
- 首先检查配置文件语法是否正确,特别是引号和等号。确认后,务必执行了
- 某些程序仍用旧版本
- 这说明该程序可能在其自身的脚本或配置中硬编码了 Ja va 路径。解决方法是找到该应用的启动脚本或配置文件,在其中显式地导出(export)你想要的
JA VA_HOME和PATH。
- 这说明该程序可能在其自身的脚本或配置中硬编码了 Ja va 路径。解决方法是找到该应用的启动脚本或配置文件,在其中显式地导出(export)你想要的
相关攻略
Ubuntu 系统 php-fpm conf 配置文件找不到?完整解决方案 在 Ubuntu 21 10 或更高版本中部署 Nginx + PHP FastCGI 环境时,如需配置 log_limit 等 PHP-FPM 专属参数,必须明确安装 php*-fpm 软件包。仅安装 PHP CGI 或
在 Ubuntu 系统中定位与查看 PHP 错误日志的完整指南 当 PHP 应用在 Ubuntu 服务器上出现异常时,错误日志是进行故障诊断的首要依据。准确找到并高效分析日志内容,能极大提升问题排查效率。本指南将详细介绍在 Ubuntu 系统中定位和查看 PHP 错误日志的多种方法。 第一步:启动终
Ubuntu 上安装 Python 的常见问题与对策 在 Ubuntu 上配置 Python 环境,看似简单,实则暗藏玄机。从版本选择、依赖安装到环境隔离,每一步都可能遇到意想不到的“坑”。别担心,这份指南将带你系统性地梳理常见问题,并提供经过验证的解决方案。 一、安装前准备与基础检查 动手之前,做
在Ubuntu上管理PHP-FPM服务 高效管理PHP-FPM服务是Linux服务器运维与Web开发环境配置中的核心技能。在Ubuntu系统中,您可以通过一系列简洁明了的命令行操作,轻松完成服务的启动、停止、重启与状态监控。本文将为您提供一份详尽的Ubuntu PHP-FPM服务管理指南。 1 启
在Ubuntu系统中定位与查看PHP-FPM错误日志的完整指南 当服务器出现PHP-FPM相关故障时,查看错误日志是诊断问题的首要且关键步骤。这些日志如同系统的“诊断报告”,详细记录了运行时发生的每一个异常、警告和错误信息。对于Ubuntu系统的用户而言,掌握快速定位并解读这些日志的方法,是高效运维
热门专题
热门推荐
H3C路由器登录管理界面提示证书错误,本质是浏览器与设备间SSL TLS安全握手未通过验证,属常见且可快速处置的技术现象。 遇到H3C路由器管理界面弹出“证书错误”的警告,你先别慌。这本质上不是什么大故障,而是浏览器与你的路由器之间在进行安全“握手”时,验证流程没走通。这在设备圈子里其实挺常见,尤其
针式打印机本身不使用墨粉,而是依靠色带击打完成打印,因此不存在“加墨粉”这一操作,更谈不上墨粉对寿命的影响。所谓“给针打加墨粉”的说法,实为混淆了针式打印机与激光打印机的核心成像原理——前者依赖物理撞击使色带染料转印,后者才通过静电吸附墨粉并经高温定影。权威行业资料显示,针式打印机的使用寿命主要取决
针式打印机不能加墨粉,它使用的是物理击打式打印原理,依靠色带盒中的油墨浸润织物带实现字符转印。 这事儿其实很好理解。针式打印机和办公室里常见的激光打印机,完全是两套“武功路数”。后者依赖碳粉在感光鼓上成像,再经过热压定影,过程充满了静电与高温的精密配合。而针式打印机呢?它的核心耗材体系自始至终都围绕
苏泊尔电磁炉的定时功能通常集成在面板主控区,通过“定时”专用按键一键调出 想给炖汤定个时,或者让火锅到点自动关机?这个操作其实就藏在面板的按键区里。苏泊尔电磁炉大多设有一个独立的“定时”键,位置通常在功能键组的右侧或者数字键的上方,图标很好认,不是沙漏就是个小时钟。轻轻一按,配合旁边的“加”和“减”
高端手机5G频段覆盖差异,核心在于对n28与n79等关键频段的支持完整性 说到高端手机的5G体验,一个常被忽略但至关重要的差异,就藏在那些看似枯燥的频段编号里。尤其是n28(700MHz)和n79(4 9GHz)这两个关键频段,它们的支持是否完整,直接决定了手机信号是“真全能”还是“有短板”。低频段





