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_HOMEPATH,优先级高的路径(如~/.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-jrepurge会删除配置文件)
    • CentOS/RHEL: sudo yum remove java-11-openjdk java-11-openjdk-devel
  • 手动安装:删除JDK安装目录(如sudo rm -rf /usr/local/java/jdk11)并清理环境变量中的相关配置(编辑/etc/profile~/.bashrc删除JAVA_HOMEPATH中的Java路径)。
  • SDKMAN!安装:执行sdk uninstall java 版本号(如sdk uninstall java 11.0.12-tem),并清理默认配置(若不再使用SDKMAN!,可删除~/.sdkman目录)。

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

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • 启动Linux系统难吗?详细步骤揭秘

    启动前的准备工作硬件检查按下电源键后,主板通电并执行 POST(上电自检):检测 CPU、内存、硬盘等关键硬件屏幕显示厂商 Logo(如 Dell/HP)或检测进度若硬件故障,主板蜂鸣器报错或屏幕显示错误代码固件阶段:BIOS/UEFIBIOS 系统(传统模式):读取主板 ROM 中的程序按预设顺序(硬盘&gt……

    2025年7月21日
    2000
  • linux中如何修改suders文件

    Linux 中,使用 visudo 命令编辑 /etc/sudoers 文件,

    2025年8月14日
    800
  • 如何安全卸载e1000e驱动模块?

    在Linux系统中卸载网卡驱动通常涉及内核模块的管理操作,以下是详细步骤及注意事项,操作前请确保具备物理服务器访问权限(卸载驱动会导致网络中断,远程操作将失去连接),操作需root权限,命令前加sudo或切换至root用户,操作前准备备份重要数据:避免误操作导致系统故障,确认网卡信息: lspci | grep……

    2025年7月14日
    2300
  • linux如何用卸载opencv

    Linux中卸载OpenCV,可以使用包管理器。

    2025年8月14日
    800
  • 卸载前必做哪些准备?

    在Linux系统中卸载旧版JDK(如JDK 1.7)是保障系统安全性和兼容性的关键步骤,Oracle已于2015年终止对JDK 1.7的官方支持,继续使用可能面临安全漏洞和兼容性问题,本文提供两种主流Linux发行版(Debian/Ubuntu和RHEL/CentOS)的详细卸载指南,所有操作均需root权限……

    2025年6月28日
    2900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信