Linux系统下如何正确安装Java并配置好环境变量呢?

在Linux系统中安装Java是开发、运维及企业应用中的常见需求,Java运行环境(JRE)或开发工具包(JDK)的安装方式因需求不同而有所差异,本文将详细介绍通过包管理器、手动下载安装及SDKMAN!工具三种主流方法,并涵盖环境变量配置、版本验证及常见问题解决。

linux 如何安装java

通过包管理器安装(适合新手,自动处理依赖)

Linux主流发行版如Ubuntu/Debian、CentOS/RHEL等均自带包管理器,可一键安装OpenJDK(Java开源实现),推荐无需特定商业版本的用户使用。

Ubuntu/Debian系统(使用apt)

  • 更新软件包列表:

    sudo apt update
  • 安装OpenJDK(以JDK 11为例,常用版本还有8、17等):

    sudo apt install openjdk-11-jdk

    若仅需运行环境(JRE),可安装openjdk-11-jre。

  • 验证安装:

    linux 如何安装java

    java -version
    javac -version  # 验证编译器是否安装(JDK包含)

CentOS/RHEL/Fedora系统(使用yum/dnf)

  • CentOS/RHEL 7及以下(yum):
    sudo yum install java-11-openjdk-devel
  • CentOS/RHEL 8+/Fedora(dnf):
    sudo dnf install java-11-openjdk-devel

不同发行版包管理器命令对比

发行版 包管理器 安装JDK 11命令 安装JRE命令
Ubuntu/Debian apt sudo apt install openjdk-11-jdk sudo apt install openjdk-11-jre
CentOS 7 yum sudo yum install java-11-openjdk-devel sudo yum install java-11-openjdk
CentOS 8+ dnf sudo dnf install java-11-openjdk-devel sudo dnf install java-11-openjdk

注意:包管理器安装会自动配置环境变量(如JAVA_HOME),若未生效可手动配置(见后文“环境变量配置”部分)。

手动安装JDK(适合特定版本需求,如Oracle JDK)

若需安装Oracle JDK(商业版,需接受许可协议)或OpenJDK的特定构建版本(如Adoptium Temurin),可通过官网下载压缩包手动安装。

下载JDK压缩包

  • 访问Oracle JDK官网或OpenJDK官网(推荐Adoptium,提供免费预构建版本),选择对应系统架构(如Linux x64)的.tar.gz包。

解压并移动到安装目录

# 创建安装目录(通常放在/usr/local/java)
sudo mkdir -p /usr/local/java
# 解压下载的.tar.gz包(假设文件在~/Downloads/)
tar -zxvf jdk-11.0.12_linux-x64_bin.tar.gz -C /usr/local/java
# 重命名解压目录(可选,便于管理)
sudo mv /usr/local/java/jdk-11.0.12 /usr/local/java/jdk11

配置环境变量

编辑/etc/profile(全局配置,所有用户生效)或~/.bashrc(当前用户生效),添加以下内容:

export JAVA_HOME=/usr/local/java/jdk11          # JDK安装路径
export PATH=$JAVA_HOME/bin:$PATH                 # 将JDK bin目录加入PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  # 类路径(可选,JDK开发需)

提示:若编辑~/.bashrc,仅对当前终端生效,需执行source ~/.bashrc或重新打开终端。

生效配置并验证

source /etc/profile  # 或 source ~/.bashrc
java -version
javac -version

若输出版本信息,说明安装成功。

linux 如何安装java

使用SDKMAN!安装(适合多版本管理)

SDKMAN!是一个多版本Java管理工具,可快速安装、切换不同Java版本(如JDK 8/11/17),适合需要频繁切换开发环境的开发者。

安装SDKMAN!

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"  # 初始化

查看并安装Java版本

sdk list java  # 查看可安装的Java版本(如Adoptium、Oracle等)
sdk install java 11.0.12-tem  # 安装指定版本(以Adoptium Temurin 11为例)

切换Java版本

sdk use java 11.0.12-tem  # 切换到已安装的版本
sdk default java 17.0.3-tem  # 设置默认版本

验证安装

java -version
sdk current java  # 查看当前使用的Java版本

环境变量配置通用问题解决

无论通过哪种方式安装,若java -version提示“未找到命令”,多为环境变量未配置或配置错误,可按以下步骤排查:

  1. 检查JAVA_HOME是否正确指向JDK安装目录:
    echo $JAVA_HOME  # 输出应为JDK路径(如/usr/local/java/jdk11)
  2. 检查PATH是否包含$JAVA_HOME/bin:
    echo $PATH  # 确认包含.../jdk11/bin...
  3. 若修改了配置文件,需执行source命令生效(如source /etc/profile)。

相关问答FAQs

Q1: 如何在Linux中切换已安装的多个Java版本?
A1: 切换方式取决于安装方法:

  • 包管理器安装:使用update-alternatives工具(需先通过包管理器安装多个版本,如sudo apt install openjdk-8-jdk后,执行sudo update-alternatives --config java选择版本)。
  • 手动安装:修改环境变量中的JAVA_HOME和PATH,优先级高的路径(如~/.bashrc中的配置)会覆盖全局配置,或通过符号链接实现切换(如sudo ln -sf /usr/local/java/jdk17/bin/java /usr/bin/java)。
  • SDKMAN!安装:直接使用sdk use java 版本号或sdk default java 版本号切换,SDKMAN!会自动管理路径。

Q2: 如何完全卸载Linux中的Java?
A2: 卸载方式需匹配安装方法:

  • 包管理器安装:
    • Ubuntu/Debian: sudo apt purge openjdk-11-jdk openjdk-11-jre(purge会删除配置文件)
    • CentOS/RHEL: sudo yum remove java-11-openjdk java-11-openjdk-devel
  • 手动安装:删除JDK安装目录(如sudo rm -rf /usr/local/java/jdk11)并清理环境变量中的相关配置(编辑/etc/profile或~/.bashrc删除JAVA_HOME、PATH中的Java路径)。
  • SDKMAN!安装:执行sdk uninstall java 版本号(如sdk uninstall java 11.0.12-tem),并清理默认配置(若不再使用SDKMAN!,可删除~/.sdkman目录)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/19675.html

赞 (0)
酷番叔酷番叔
上一篇 2025年8月29日 15:29
下一篇 2025年8月29日 15:51

相关推荐

  • Linux系统如何安装JDK1.7?

    在Linux系统中安装JDK1.7虽然当前主流版本已更新至JDK17、JDK21等,但部分老旧项目或特定环境仍需依赖JDK1.7,本文将详细讲解在Linux系统中安装JDK1.7的完整步骤,涵盖准备工作、安装方法、环境变量配置及常见问题处理,确保用户顺利完成安装并验证配置,安装前的准备工作在开始安装前,需确认系……

    2025年9月9日
    24800
  • linux下如何正确退出mysql数据库?

    在Linux系统中操作MySQL数据库时,正确退出MySQL客户端是日常管理的基础操作,无论是通过命令行还是图形化工具,掌握多种退出方法能帮助用户在不同场景下高效完成操作,本文将详细介绍Linux环境下退出MySQL的常用方法、注意事项及异常处理技巧,并通过表格对比不同方式的特点,最后附上常见问题解答,MySQ……

    2025年9月9日
    25000
  • 如何绑定IP到MAC地址?

    在Linux系统中,绑定MAC地址(也称为静态ARP绑定)是网络安全和网络管理的重要手段,它通过将特定IP地址与对应的MAC地址强制关联,防止ARP欺骗攻击,确保网络设备间通信的可信性,以下是详细的操作方法和注意事项:为什么需要绑定MAC地址?防范ARP欺骗:阻止攻击者伪造MAC地址劫持流量,网络准入控制:仅允……

    2025年8月4日
    31500
  • Linux如何通过内核机制保证实时性?

    Linux作为一款广泛应用于服务器、嵌入式系统及实时控制领域的操作系统,其实时性保障能力是关键性能指标之一,实时性指系统在确定时间内对外部事件或请求做出响应的能力,通常分为硬实时(必须在严格截止时间内完成,否则导致系统失败)和软实时(尽量在截止时间内完成,偶尔超时可容忍),Linux默认并非实时操作系统,但通过……

    2025年9月17日
    25900
  • Linux图形界面与命令行如何快速粘贴?

    图形界面(GUI)复制粘贴适用于GNOME、KDE、XFCE等桌面环境,操作与Windows/macOS类似:鼠标操作选中文本/文件 → 右键点击 → 选择”复制”(Copy) → 到目标位置右键点击 → 选择”粘贴”(Paste),文件管理器:直接拖拽文件到目标文件夹即完成复制(按住Ctrl拖拽为移动),通用……

    2025年7月8日
    26800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信