服务器测评网
我们一直在努力

如何在Linux系统中查看已安装的Java版本号?

在Linux系统中查看Java版本是开发和管理人员日常工作中常见的操作,由于Java存在多种实现(如OpenJDK、Oracle JDK等)和版本号格式(如1.8、11、17等),掌握多种查看方法至关重要,本文将详细介绍不同场景下查看Java版本的命令行工具、环境变量配置、多版本管理以及常见问题排查,帮助读者全面掌握这一技能。

如何在Linux系统中查看已安装的Java版本号?

基础命令查看Java版本

最直接的方式是通过命令行调用Java自带的版本查询功能,这是所有Linux系统通用的方法。

使用java -version命令

java -version是最常用的命令,它会输出Java运行时环境(JRE)的详细信息,包括版本号、供应商、Java主版本号等,执行以下命令:

java -version

正常输出示例如下:

openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment Temurin-11.0.16+8 (build 11.0.16+8)
OpenJDK 64-Bit Server VM Temurin-11.0.16+8 (build 11.0.16+8, mixed mode, sharing)

输出结果包含三行信息:第一行是Java版本号(如11.0.16),第二行是运行时环境(如Temurin是Eclipse Adoptium提供的开源实现),第三行是虚拟机类型和模式,若系统未安装Java或环境变量未配置,会提示“command not found”。

使用javac -version检查编译器版本

Java开发不仅需要运行时环境(JRE),还需要开发工具包(JDK)中的编译器javac,通过javac -version可以确认JDK是否完整安装,版本号通常与java -version一致:

javac -version

输出示例:

javac 11.0.16

javac命令不可用,说明当前安装的可能是仅包含JRE的Java环境,而非完整的JDK。

通过环境变量定位Java安装路径

有时需要确认Java的具体安装路径或配置来源,此时可通过环境变量JAVA_HOMEPATH进行排查。

检查JAVA_HOME环境变量

JAVA_HOME是许多Java应用(如Tomcat、Maven)依赖的环境变量,指向JDK的安装根目录,使用echo命令查看:

echo $JAVA_HOME

若输出类似/usr/lib/jvm/java-11-openjdk-amd64,则说明JAVA_HOME已配置,若为空或未定义,可能需要手动配置(通常在~/.bashrc/etc/profile文件中添加)。

如何在Linux系统中查看已安装的Java版本号?

检查PATH中的Java路径

PATH环境变量决定了系统在哪些目录中查找可执行文件,通过whichwhereis命令可以定位java命令的实际路径:

which java

whereis java

输出示例:

/usr/bin/java

java命令位于/usr/bin/java,可通过ls -l /usr/bin/java查看其指向的真实路径(可能是软链接):

ls -l /usr/bin/java

输出类似:

lrwxrwxrwx 1 root root 20 8月  10 10:30 /usr/bin/java -> /etc/alternatives/java

进一步跟踪软链接:

ls -l /etc/alternatives/java

最终指向实际的JDK安装目录,如/usr/lib/jvm/java-11-openjdk-amd64/bin/java

处理多Java版本环境

Linux系统可能同时安装多个Java版本(如Java 8和Java 11),此时需要通过工具切换或指定版本查询。

使用update-alternatives管理版本(Debian/Ubuntu系统)

基于Debian的系统(如Ubuntu)提供update-alternatives工具管理多版本Java,查看当前已安装的Java版本:

update-alternatives --display java

输出示例:

如何在Linux系统中查看已安装的Java版本号?

java - 自动模式
  最佳版本    /usr/lib/jvm/java-11-openjdk-amd64/bin/java
  优先级      1111
  路径        /usr/bin/java
  次要版本    2 个
  版本       
     1
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1111 手动模式
     2
/usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 自动模式

若需切换版本,使用:

sudo update-alternatives --config java

根据提示选择版本编号即可。

使用alternatives命令(RHEL/CentOS系统)

RedHat系列系统(如CentOS)同样支持alternatives,命令与Debian类似:

sudo alternatives --config java

手动指定Java路径

若未使用alternatives,可通过临时或永久指定路径使用特定版本Java:

  • 临时指定(当前终端有效):
    export JAVA_HOME=/path/to/jdk-11
    export PATH=$JAVA_HOME/bin:$PATH
    java -version
  • 永久指定(修改配置文件):
    ~/.bashrc/etc/profile中添加上述export命令,执行source ~/.bashrcsource /etc/profile使配置生效。

验证Java开发工具包(JDK)完整性

确认Java版本后,需验证JDK是否包含开发所需的工具(如jarjavadoc等),通过ls命令列出JDK的bin目录:

ls $JAVA_HOME/bin

正常输出应包含javac(编译器)、jar(打包工具)、javadoc(文档生成工具)等文件,若缺少关键工具,说明当前安装的可能是JRE而非JDK,需重新安装JDK。

常见问题排查

提示“command not found”

  • 原因:Java未安装或环境变量未配置。
  • 解决
    • 安装Java(以Ubuntu为例):
      sudo apt update
      sudo apt install openjdk-11-jdk
    • 或手动下载JDK并配置JAVA_HOMEPATH

java -versionjavac -version版本不一致

  • 原因JAVA_HOMEPATH配置错误,导致运行时与编译器版本不匹配。
  • 解决:检查JAVA_HOME是否指向正确的JDK目录,确保PATH$JAVA_HOME/bin优先于其他Java路径。

多版本Java切换无效

  • 原因:未正确使用update-alternativesalternatives,或配置文件未更新。
  • 解决:重新运行update-alternatives --config java选择版本,并检查~/.bashrc中的JAVA_HOME是否与当前版本一致。

在Linux系统中查看Java版本是基础且重要的技能,通过java -version可快速获取版本信息,结合环境变量和update-alternatives工具可管理多版本环境,遇到问题时,需逐步排查安装状态、环境变量配置及工具完整性,掌握这些方法不仅能提升日常工作效率,还能为Java应用开发与部署奠定坚实基础。

赞(0)
未经允许不得转载:好主机测评网 » 如何在Linux系统中查看已安装的Java版本号?