如何查看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环境下编写程序,通常涉及从环境搭建到代码编写、编译调试、部署维护的全流程,Linux作为开源操作系统,其工具链和系统调用为程序开发提供了强大支持,以下是详细步骤和关键要点,开发环境准备Linux程序开发需先安装必要的工具链,以C语言为例,常用工具包括GCC(编译器)、GDB(调试器)、Make(构建……

    2025年10月1日
    1400
  • 1个月真能打牢基础?

    Linux操作系统核心命令行精通:掌握grep/awk/sed文本处理,进程管理(ps/top),网络调试(netstat/tcpdump)系统编程:学习文件I/O、进程间通信(管道/信号/共享内存)、多线程(pthread)推荐资源:《Linux命令行与shell脚本编程大全》(ISBN 978-111898……

    2025年7月21日
    5400
  • Linux如何安装JDK1.8?

    在Linux系统中安装JDK1.8是Java开发和运行Java应用的基础步骤,本文将详细介绍通过包管理器、手动安装及SDKMAN工具三种主流方式完成安装,并涵盖环境配置、验证及常见问题处理,安装前准备在安装JDK1.8前,需确认系统环境并清理旧版本Java(避免冲突),检查系统信息:执行uname -a查看系统……

    2025年9月24日
    1700
  • linux7如何查看用户

    Linux7 中,可通过命令“cat /etc/passwd”查看

    2025年8月17日
    3500
  • linux中如何放大终端字体

    Linux 中,可通过终端配置文件(如 `~/.

    2025年8月9日
    3400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信