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

Ubuntu系统安装最新Java版本详细步骤教程

时间:2026-05-10 08:34
在Ubuntu上安装Java需根据项目需求选择版本,常用LTS版本如OpenJDK11或17。可通过官方仓库直接安装,并利用工具管理多版本切换。为满足开发需求,常需配置JAVA_HOME环境变量。若官方仓库无所需版本,可借助第三方PPA或手动安装特定版本。安装后务必验证版本以确保成功。

在Ubuntu系统中安装Java开发环境,对于开发者而言是一项基础且关键的技能。虽然通过几条命令即可完成基础安装,但面对版本选择、多环境配置以及生产部署等复杂场景时,仍需系统性的指导。本文将为你提供一份从零开始的完整指南,涵盖Ubuntu安装Java的多种方法、版本管理技巧以及环境变量配置,助你高效搭建稳定可靠的Java开发平台。

如何在Ubuntu上安装最新Ja va版本

一、安装前的准备工作与版本选择策略

在开始执行任何安装命令前,充分的准备工作能有效避免后续的兼容性问题与配置错误。

首先,更新系统软件包列表并升级现有软件,确保获取最新的仓库信息:

sudo apt update && sudo apt upgrade -y

接着,检查当前系统是否已安装Java及其版本信息:

ja va -version
ja vac -version

核心步骤在于选择合适的Java版本。你的选择应基于实际开发或运行需求:

  • 企业级生产环境推荐:建议选择OpenJDK 11OpenJDK 17。这两个均为长期支持(LTS)版本,拥有出色的稳定性、安全更新及广泛的社区支持。
  • 维护遗留系统:许多传统项目仍依赖于OpenJDK 8。它同样是LTS版本,在旧系统兼容性方面表现良好。
  • 学习与前沿技术探索:可通过官方仓库安装最新的非LTS版本以体验最新语言特性,但请注意其可能不适用于对稳定性要求极高的生产服务器。

二、通过APT仓库安装OpenJDK(推荐方案)

对于大多数Ubuntu用户,通过系统自带的APT软件仓库安装OpenJDK是最便捷、最安全的方式。安装JDK(Java Development Kit)将自动包含JRE(Java Runtime Environment)。

根据你的版本选择,执行对应的安装命令:

# 安装 OpenJDK 11
sudo apt install openjdk-11-jdk -y

# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk -y

# 安装 OpenJDK 8
sudo apt install openjdk-8-jdk -y

安装完成后,务必进行验证,确认安装成功:

ja va -version
ja vac -version

如果终端正确显示了所安装的版本号,则表明基础环境已就绪。若官方仓库未提供所需版本,请参考下文的手动安装方案。

三、实现多版本Java共存与灵活切换

开发工作中常需在不同项目间切换Java版本。利用Ubuntu内置的update-alternatives工具,可以轻松管理多个Java安装。

首先,查看系统中所有已注册的Java版本,并设置默认版本:

sudo update-alternatives --config ja va

执行后,终端将显示一个带编号的版本列表。输入你希望设为默认的版本编号并按回车确认。

对于开发者,还需同步设置Java编译器(javac)的默认版本:

sudo update-alternatives --config ja vac

选择对应编号后,再次使用ja va -versionja vac -version命令检查,确保运行时与编译器版本一致。

四、配置JAVA_HOME环境变量(关键步骤)

JAVA_HOME环境变量是许多Java应用(如Maven、Gradle、Spring Boot)和集成开发环境(如IntelliJ IDEA、Eclipse)定位Java安装目录所必需的。虽然运行简单Java程序可能无需此变量,但对于完整的开发环境,配置它是标准实践。

第一步:定位Java安装路径。 推荐使用以下命令获取精确路径:

readlink -f /usr/bin/ja va

该命令将输出类似/usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja va的路径。你需要移除末尾的/bin/ja va,得到/usr/lib/jvm/ja va-11-openjdk-amd64,此即你的JAVA_HOME路径。

第二步:设置环境变量。 可根据需要选择用户级或系统级配置:

方案A:用户级配置(更安全常用)
编辑当前用户的shell配置文件(例如,使用Bash则编辑~/.bashrc,使用Zsh则编辑~/.zshrc):

nano ~/.bashrc

在文件末尾添加以下行(请根据你的实际路径修改):

export JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64
export PATH=$PATH:$JA VA_HOME/bin

保存并退出编辑器,然后使配置立即生效:

source ~/.bashrc

方案B:系统级配置(对所有用户生效)
编辑系统环境配置文件:

sudo nano /etc/environment

在文件中添加(注意此处无需export关键字):

JA VA_HOME="/usr/lib/jvm/ja va-11-openjdk-amd64"

保存退出后,加载该配置文件:

source /etc/environment

最后,使用以下命令验证配置是否成功:

echo $JA VA_HOME
ja va -version

五、高级安装:手动安装与第三方仓库

当Ubuntu官方仓库未提供所需Java版本(例如在新系统上安装旧版OpenJDK 8),或你需要安装特定发行版(如Oracle JDK)时,可采用以下方法。

方法一:添加第三方PPA仓库
一些社区维护的PPA仓库提供了额外的软件包。例如,为较新Ubuntu系统安装OpenJDK 8:

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
sudo apt install openjdk-8-jdk -y

请注意,使用第三方仓库时应评估其可信度与维护状态。

方法二:手动安装.tar.gz压缩包
此方法适用于安装特定版本或Oracle JDK。

  1. 从官方站点(如Adoptium、Oracle官网)下载对应的.tar.gz安装包。
  2. 解压到当前目录:tar -xzf openjdk-XX_linux-x64_bin.tar.gz
  3. 将解压后的目录移至系统目录,例如:sudo mv jdk-XX /usr/local/ja va
  4. 手动将其注册到update-alternatives系统:
    sudo update-alternatives --install /usr/bin/ja va ja va /usr/local/ja va/bin/ja va 100
    sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/local/ja va/bin/ja vac 100
  5. 最后,使用sudo update-alternatives --config ja va命令选择新安装的版本。

无论采用何种安装方式,完成后的最终验证步骤不可或缺:

ja va -version
ja vac -version

当终端正确显示你安装的Java版本号时,说明你的Ubuntu Java开发环境已成功配置,可以立即开始编码或部署应用了。

来源:https://www.yisu.com/ask/66996184.html
上一篇Debian系统交换空间与其他内存管理技术的协同工作机制 下一篇Ubuntu系统下PHP-FPM最大连接数配置与优化指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
CentOS与Golang打包常见兼容性问题探讨
编程语言 · 2026-07-01

CentOS与Golang打包常见兼容性问题探讨

CentOS与Golang打包的兼容性问题集中在glibc版本不匹配、交叉编译环境变量错误、依赖库缺失及Go依赖管理不规范。可通过Docker容器编译、选择兼容Go版本、正确设置GOOS GOARCH环境变量、安装对应开发包及使用GoModules解决。

CentOS中Fortran与Python如何协同工作从入门到实战完整教程
编程语言 · 2026-07-01

CentOS中Fortran与Python如何协同工作从入门到实战完整教程

在CentOS中,Fortran与Python可通过f2py、SWIG、共享库调用或subprocess协同。f2py封装Fortran为Python模块,支持数组运算;共享库需手动对齐数据类型;系统调用适合独立计算。

CentOS中Golang打包优化方法
编程语言 · 2026-07-01

CentOS中Golang打包优化方法

在CentOS中优化Golang编译打包,可显著提升编译速度并减小二进制文件体积。关键技巧包括:设置环境变量、使用Go模块管理依赖、编译时添加-ldflags= "-s-w "去除调试信息、利用UPX工具压缩、运行strip清理符号表,以及优化cgo内C代码的编译选项。综合运用这些方法能有效优化最终程序。

在CentOS系统中cpustat与其他工具协同使用的完整方法
编程语言 · 2026-07-01

在CentOS系统中cpustat与其他工具协同使用的完整方法

cpustat作为sysstat包的CPU监控工具,可通过管道与grep等命令配合过滤数据,利用脚本自动记录带时间戳的日志,或结合图形工具查看,也可格式化输出后接入Zabbix、Grafana等Web监控系统,实现可视化与告警。

CentOS中readdir与其他Linux发行版的差异
编程语言 · 2026-07-01

CentOS中readdir与其他Linux发行版的差异

CentOS基于RHEL,与Ubuntu、Debian、Fedora在包管理器(yum dnfvsapt)、默认文件系统(XFSvsext4)等存在差异,但readdir等系统调用遵循POSIX标准,行为一致。