Linux如何查看JDK版本

在Linux终端输入java -version可查看当前默认JDK版本,使用update-alternatives --list java可列出所有已安装JDK路径及其版本,javac -version则用于验证JDK编译器版本。

在Linux系统中,查看JDK(Java Development Kit)版本是开发者或系统管理员常见的需求,用于确保Java环境正确配置、兼容应用程序或调试问题,JDK包含Java运行时环境(JRE)和开发工具(如编译器),因此查看版本能帮助确认安装的Java类型(如OpenJDK或Oracle JDK)及其详细信息,以下方法基于标准Linux命令行操作,适用于大多数发行版(如Ubuntu、CentOS、Debian),操作前,请确保已安装JDK;如果未安装,可使用包管理器(如aptyum)安装OpenJDK。

Linux如何查看JDK版本

方法1:使用java -version命令(查看Java运行时版本)

这是最直接的方法,显示Java运行时环境(JRE)的版本,JRE是JDK的一部分,适用于所有JDK安装。

  1. 打开终端:在Linux桌面环境中,按Ctrl+Alt+T快捷键启动终端;或通过应用程序菜单找到“终端”。
  2. 输入命令:
    java -version
  3. 查看输出:命令会返回JDK的版本信息、供应商和构建详情。
    openjdk version "11.0.20" 2025-07-18
    OpenJDK Runtime Environment (build 11.0.20+8-post-Ubuntu-0ubuntu122.04)
    OpenJDK 64-Bit Server VM (build 11.0.20+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)
    • 解读:第一行显示主版本(如11.0.20),第二行是运行时环境,第三行是虚拟机详情,如果输出中包含”OpenJDK”,表示是开源版本;”Java(TM)”则表示Oracle JDK。
    • 注意:如果命令返回bash: java: command not found,说明JDK未安装或路径未设置,需先安装JDK(如sudo apt install openjdk-11-jdk)。

方法2:使用javac -version命令(查看Java编译器版本)

javac是JDK的编译器工具,此命令专门确认JDK(而非仅JRE)是否安装,并显示编译器版本。

  1. 在终端中输入:
    javac -version
  2. 查看输出:返回简洁的编译器版本号。
    javac 11.0.20
    • 解读:输出直接显示版本(如11.0.20),确认JDK已安装,如果输出错误如command not found,表示只安装了JRE(运行时环境),而非完整JDK,需安装JDK包(如Ubuntu中使用sudo apt install default-jdk)。

方法3:检查环境变量和路径(辅助确认版本)

如果系统安装了多个JDK版本,可通过环境变量和文件路径进一步验证。

  • 查看JAVA_HOME变量JAVA_HOME通常指向JDK安装目录,输入:

    Linux如何查看JDK版本

    echo $JAVA_HOME

    输出如/usr/lib/jvm/java-11-openjdk-amd64,表示JDK路径,结合ls命令查看具体版本:

    ls -l $JAVA_HOME/bin/java

    输出会显示符号链接的详细信息,指向实际版本。

  • 使用whichwhereis命令:查找javajavac的路径,再检查版本。

    which java  # 输出路径,如/usr/bin/java
    /usr/bin/java -version  # 直接运行路径下的命令查看版本

    或:

    Linux如何查看JDK版本

    whereis javac  # 显示所有相关路径

方法4:管理多个JDK版本(使用update-alternatives

在Debian/Ubuntu等系统中,如果安装了多个JDK(如Java 8和Java 11),可用update-alternatives工具切换和查看当前版本。

  1. 查看所有安装的Java版本:
    update-alternatives --config java
  2. 终端会列出选项,
    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/jre/bin/java   1081      manual mode
      2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
    • 解读:星号(*)表示当前默认版本(如Java 11),输入数字选择其他版本,或直接查看优先级和路径。
  3. 类似地,检查编译器版本:
    update-alternatives --config javac

常见问题与解决

  • 命令未找到(command not found):表示JDK未安装,安装命令示例:
    • Ubuntu/Debian:sudo apt update && sudo apt install default-jdk
    • CentOS/RHEL:sudo yum install java-11-openjdk-devel
      安装后,重新运行版本命令。
  • 版本不一致:如果java -versionjavac -version输出不同,可能路径冲突,运行update-alternatives --config java统一设置。
  • 权限问题:普通用户可能无法访问某些路径,使用sudo或以root用户操作。
  • OpenJDK vs Oracle JDK:输出中会注明供应商,OpenJDK是开源免费版,Oracle JDK需商业许可;两者命令相同。

为什么需要查看JDK版本?

  • 兼容性:确保应用程序(如Tomcat或Spring Boot)与JDK版本匹配。
  • 安全更新:旧版本可能有漏洞,定期检查可及时升级。
  • 开发需求:编译代码时需特定JDK(如Java 8或11)。
  • 系统维护:多版本管理避免冲突,提高效率。

通过以上方法,您可以快速准确地查看Linux系统中的JDK版本,建议定期验证版本,以保持环境健康,操作基于标准Linux实践,确保安全可靠。

引用说明:本文内容参考Oracle官方Java文档、OpenJDK社区指南及Linux手册页(man pages),确保信息准确性和权威性,具体命令细节可查阅man java或访问OpenJDK官网

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月14日 23:55
下一篇 2025年6月15日 00:04

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN