在Linux系统中查询JDK(Java Development Kit)的安装情况是开发和管理Java环境时的常见操作,掌握多种查询方法可以帮助用户快速定位JDK路径、版本信息及配置细节,确保开发环境的稳定运行,以下是几种常用的查询方式,涵盖不同场景和需求。

使用java -version命令查询JDK版本
最基础且常用的方法是直接通过java -version命令查看JDK的版本信息,该命令会输出Java运行时环境(JRE)的版本号、供应商信息及JDK的详细版本,执行后可能显示如下内容:
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-Ubuntu-0ubuntu1.20.04.1)
OpenJDK 64-Bit Server VM (build 11.0.12+7-Ubuntu-0ubuntu1.20.04.1, mixed mode, sharing)
通过输出结果可以确认系统是否安装了JDK,以及具体的版本号和架构(如64位),需要注意的是,若仅安装了JRE,java -version可能仅显示运行时环境信息,而无法直接确认JDK的安装路径。
使用which或whereis命令定位JDK可执行文件路径
若需要确认JDK的安装路径,可通过which或whereis命令定位java命令的具体位置。which java会返回当前环境变量PATH中java命令的绝对路径,
/usr/bin/java
而whereis java则会提供更全面的信息,包括可执行文件、源代码及手册页路径,
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java
若发现路径指向/usr/bin/java等系统默认目录,可能需要进一步确认是否为系统默认JDK或用户自定义安装的JDK。
通过update-alternatives管理多版本JDK
Linux系统(如Ubuntu/Debian)通常使用update-alternatives工具管理多个版本的JDK,通过该命令可以查看当前系统已安装的JDK版本及默认选中的版本,执行以下命令:

update-alternatives --config java
系统会列出所有可用的JDK版本,并提示用户选择默认版本。
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1081 manual mode
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
星号(*)标识当前默认版本,用户可通过输入选择序号切换默认JDK。update-alternatives --display java可查看当前JDK的优先级和配置详情。
检查环境变量JAVA_HOME配置
JAVA_HOME是Java开发中重要的环境变量,指向JDK的安装根目录,可通过以下命令查看JAVA_HOME的值:
echo $JAVA_HOME
若输出为空或路径错误,可能需要手动配置。JAVA_HOME应指向JDK的安装路径,如/usr/lib/jvm/java-11-openjdk-amd64,可通过编辑~/.bashrc或/etc/profile文件添加或修改:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
配置完成后,执行source ~/.bashrc使配置生效。
查看JDK安装目录的详细信息
若需确认JDK的具体安装内容,可直接浏览JDK目录结构,通过ls -l $JAVA_HOME命令查看JDK根目录下的文件,通常包含bin(可执行文件)、lib(库文件)、include(头文件)等关键目录,若JAVA_HOME未配置,可通过ls -l /usr/lib/jvm/查看系统安装的所有JDK版本,再进入对应目录确认。

使用dpkg或rpm查询已安装的JDK包信息
基于Debian/Ubuntu的系统可通过dpkg命令查询已安装的JDK包详情:
dpkg -l | grep openjdk
输出可能为:
ii openjdk-11-jdk:amd64 11.0.12+7-0ubuntu1~20.04 amd64 OpenJDK Development Kit (JDK)
基于RHEL/CentOS的系统则使用rpm命令:
rpm -qa | grep java
通过包管理工具可以确认JDK的安装名称、版本及来源,便于后续的卸载或升级操作。
在Linux系统中查询JDK信息需结合具体需求选择合适的方法:java -version确认版本,which/whereis定位路径,update-alternatives管理多版本,环境变量检查确保开发环境配置正确,而包管理工具则用于系统级安装信息查询,掌握这些方法可以高效排查JDK相关问题,保障Java开发环境的稳定运行。



















