如何查看Linux系统自带的JDK安装路径、版本及环境变量?

在Linux系统中,查看自带的JDK(Java Development Kit)是开发环境中常见的操作,尤其在避免版本冲突、确认系统兼容性或排查问题时至关重要,Linux发行版通常预装OpenJDK,但不同系统可能通过不同方式管理JDK,因此掌握多种查看方法能更高效地定位信息,以下从命令行工具、环境变量、包管理器等多个维度详细说明如何查看Linux系统自带的JDK。

如何查看linux系统自带的jdk

通过Java命令检查版本和安装状态

Java命令是最直接的检查方式,可快速确认系统是否安装JDK及版本信息,需要注意的是,java命令可能对应JRE(Java Runtime Environment),而JDK包含javac(Java编译器),因此需结合javac -version判断是否为完整JDK。

检查Java版本

执行以下命令:

java -version

输出示例:

openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment 18.9 (build 11.0.12+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7, mixed mode, sharing)

若输出包含“OpenJDK Runtime Environment”,说明安装了JRE;若需确认JDK,需进一步检查javac命令。

检查JDK编译器

执行:

javac -version

若输出类似“javac 11.0.12”,则说明系统安装了完整JDK;若提示“命令未找到”,则仅安装了JRE,需额外安装JDK。

检查JAVA_HOME环境变量

JAVA_HOME是Java应用的核心环境变量,指向JDK安装根目录,若已正确配置,可通过以下命令查看:

echo $JAVA_HOME

若输出类似/usr/lib/jvm/java-11-openjdk-amd64,则直接显示JDK路径;若为空或未定义,说明环境变量未设置,此时需结合其他方法定位JDK路径。

注意:部分系统可能未自动设置JAVA_HOME,需手动配置(通常在/etc/profile或用户家目录的.bashrc中添加)。

定位Java可执行文件路径

通过whichls命令可定位Java命令的实际安装路径,进而判断JDK位置。

使用which命令

which java

输出示例:/usr/bin/java,这是Java命令的软链接路径,需进一步解析真实路径。

如何查看linux系统自带的jdk

解析软链接真实路径

执行以下命令获取JDK安装目录:

readlink -f $(which java)

输出示例:/usr/lib/jvm/java-11-openjdk-amd64/bin/java,由此可知JDK根目录为/usr/lib/jvm/java-11-openjdk-amd64

检查常见JDK安装目录

Linux系统通常将JDK安装在/usr/lib/jvm//usr/java/目录下,可直接列出该目录查看:

ls /usr/lib/jvm/

输出可能包含:java-1.8.0-openjdk-amd64java-11-openjdk-amd64等,即为不同版本的JDK目录。

通过包管理器查询已安装的JDK包

不同Linux发行版使用不同的包管理器(如rpm/yumdpkg/apt),通过包管理器可精确查询JDK的包名、版本及安装路径

RedHat/CentOS系统(使用rpmyum

  • 查询所有Java相关包:

    rpm -qa | grep java

    输出示例:

    java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
    java-1.8.0-openjdk-devel-1.8.0.292.b10-1.el7_9.x86_64
    java-11-openjdk-11.0.12-0.el7_9.x86_64

    其中包含devel的包为JDK开发包(含javac),仅openjdk为JRE。

  • 使用yum查询已安装包详情:

    yum list installed | grep java

Debian/Ubuntu系统(使用dpkgapt

  • 查询已安装的Java包:

    dpkg -l | grep openjdk

    输出示例:

    如何查看linux系统自带的jdk

    ii  openjdk-11-jdk:amd64        11.0.12+7-0ubuntu1~20.04      amd64        OpenJDK Development Kit (JDK)
    ii  openjdk-11-jre:amd64        11.0.12+7-0ubuntu1~20.04      amd64        OpenJava Runtime Environment

    包含jdk的为开发包,jre为运行时环境。

  • 使用apt查询安装详情:

    apt list --installed | grep openjdk

使用update-alternatives管理多版本JDK

部分系统通过update-alternatives工具管理多个Java版本,可通过该工具查看当前激活的JDK版本及可选版本:

update-alternatives --display java

输出示例:

java - status is manual.
 link currently points to /usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java provides java (auto mode)

若系统未配置update-alternatives,需先安装该工具(如sudo apt install update-alternatives),再通过sudo update-alternatives --config java切换版本。

不同查看方法对比

为更直观地选择合适方法,以下是常见方式的对比:

方法 命令示例 适用场景 优点 缺点
Java命令检查 java -versionjavac -version 快速确认版本及JDK/JRE状态 简单直接,无需额外工具 无法直接获取安装路径
环境变量检查 echo $JAVA_HOME 查看已配置的JDK路径 直接关联应用配置 需确保环境变量已设置
定位可执行文件路径 readlink -f $(which java) 获取JDK真实安装目录 精确路径,无需包管理器 需处理软链接逻辑
包管理器查询 rpm -qa | grep java 查询JDK包名、版本及依赖 信息全面,适合批量管理 依赖系统包管理工具
update-alternatives update-alternatives --display java 管理多版本JDK及查看激活状态 支持版本切换 需系统已配置该工具

相关问答FAQs

问题1:为什么执行java -version能显示版本,但JAVA_HOME为空?
解答:这种情况通常是因为系统安装了JDK但未配置JAVA_HOME环境变量。java命令通过系统PATH路径定位可执行文件,而JAVA_HOME是手动设置的环境变量,需用户主动配置,可通过以下步骤设置:

  1. 编辑环境变量文件(如/etc/profile或用户家目录的.bashrc):
    sudo nano /etc/profile
  2. 添加以下内容(路径需替换为实际JDK目录):
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
  3. 保存后执行source /etc/profile使配置生效,再次检查echo $JAVA_HOME即可显示路径。

问题2:如何确认系统自带的JDK是否为开发版(包含javac)?
解答:可通过以下两种方式确认:

  1. 检查javac命令:执行javac -version,若输出版本信息(如javac 11.0.12),则说明为开发版JDK;若提示“命令未找到”,则为仅JRE。
  2. 通过包管理器查询包名
    • RedHat系:rpm -qa | grep java,查找包含devel的包(如java-11-openjdk-devel),此类包为JDK开发包;
    • Debian系:dpkg -l | grep openjdk,查找包含jdk的包(如openjdk-11-jdk),区别于jre运行时包。

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

(0)
酷番叔酷番叔
上一篇 2025年8月24日 08:37
下一篇 2025年8月24日 08:51

相关推荐

  • linux如何跳过密码登录密码登录密码

    Linux 中,可通过配置 SSH 无密码登录(如使用 SSH 密钥认证

    2025年8月15日
    5000
  • 如何快速掌握Linux下的C语言开发?

    环境准备:安装必备工具安装GCC编译器GCC是Linux默认的C语言编译器,通过终端安装:sudo apt update && sudo apt install gcc # Debian/Ubuntusudo dnf install gcc # Fedora/CentOS验证安装:gcc –v……

    2025年7月24日
    6100
  • Linux系统如何调整屏幕分辨率?命令行与图形界面操作步骤?

    在Linux系统中调整分辨率是日常使用中常见的操作,无论是为了适配显示器、优化显示效果,还是解决显示异常问题,掌握正确的方法都很重要,Linux调整分辨率的方式主要分为图形界面操作和命令行操作两种,不同桌面环境(如GNOME、KDE、XFCE等)和系统类型(如桌面版、服务器版)适用的方法略有差异,下面将详细介绍……

    2025年8月22日
    6100
  • 如何让Linux内核占用2GB内存?

    Linux内核内存占用是系统资源管理的重要部分,通常内核会根据系统负载和硬件配置动态调整内存使用,包括内核代码段、数据段、动态分配的内存(如slab缓存、page cache、buffer cache等)以及内核栈等,若需要将内核内存占用调整至2GB,需结合系统硬件配置(建议总内存至少8GB以上,避免用户空间内……

    2025年10月3日
    2900
  • Linux系统详细安装Oracle 11g的具体操作步骤是怎样的?

    在Linux系统上安装Oracle 11g数据库需要经过详细的环境准备、依赖安装、参数配置及安装执行等步骤,以下以CentOS 7.x为例,详细说明安装过程,环境准备操作系统要求Oracle 11g官方支持Red Hat Enterprise Linux 5/6/7、CentOS 5/6/7等64位系统,确保系……

    2025年9月28日
    3700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信