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)
酷番叔酷番叔
上一篇 2025年8月29日 15:29
下一篇 2025年8月29日 15:51

相关推荐

  • Linux如何进入终端?

    在Linux系统中,终端(Terminal)是用户与系统内核交互的核心接口,通过命令行可以高效执行系统管理、程序开发、文件操作等任务,进入终端的方式因Linux发行版(如桌面版、服务器版)及使用环境(本地、远程)的不同而有所差异,以下从多个场景详细介绍进入终端的具体方法,桌面发行版图形界面下的终端进入方式大多数……

    2025年9月9日
    12900
  • 如何正确完整安装Linux服务器?新手必学的详细操作步骤有哪些?

    安装Linux服务器是企业IT基础设施建设的核心环节,需结合硬件环境、业务需求及安全规范逐步操作,以下是详细安装流程,涵盖从准备到配置的全过程,安装前的准备工作硬件选择与检查根据服务器用途(如Web服务、数据库、虚拟化)选择硬件:CPU需满足性能要求,内存建议至少4GB(生产环境推荐8GB以上),硬盘建议使用S……

    2025年8月28日
    11700
  • 如何将linux压缩成iso文件

    Linux系统中,可使用命令`mkisofs -o output.

    2025年8月18日
    15300
  • 占用TCP端口8080如何终止?

    端口占用的原理端口分类0-1023:系统特权端口(需root权限),如HTTP(80)、SSH(22),1024-49151:用户端口,供普通应用程序使用,49152-65535:动态/私有端口,占用本质进程通过调用bind()系统调用绑定IP和端口,再通过listen()进入监听状态,手动占用端口的步骤方法1……

    2025年6月22日
    13700
  • Linux开机配置如何实现?服务与脚本设置方法详解

    Linux开机配置是系统管理中的核心环节,涉及引导加载程序、内核参数、服务启动、用户环境等多个层面,合理的配置能确保系统高效、稳定运行,以下从关键步骤和文件入手,详细说明Linux开机配置的方法,引导加载程序配置引导加载程序(如GRUB)是系统启动时第一个加载的软件,负责初始化硬件并加载内核,以最常用的GRUB……

    2025年9月16日
    9300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信