jdk构建版本号是官方标识具体构建批次的编号,位于java -version输出第二行“build”后,如+12或b13;jdk 9+用+n格式,jdk 8及更早用bn格式,需结合java_home路径调用对应java命令确保准确性。

JDK 的构建版本号(Build Number)是官方用于标识具体构建批次的编号,通常出现在 java -version 输出的第二行,紧随 build 关键字之后,例如 build 17.0.1+12-LTS 中的 +12 就是构建号;而像 build 1.8.0_391-b13 中的 b13 也是构建号。
直接通过 java -version 查看
这是最常用、最直接的方式:
- 打开终端或命令提示符,执行:
java -version - 输出中第二行类似这样的内容就是关键信息:
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS)
其中 +12 是 JDK 17 的构建号(对应 JEP 347 的构建标识) - 对于较老的 JDK 8,格式通常是:
build 1.8.0_391-b13
这里的 b13 就是构建号(b 表示 build,13 是序号)
区分构建号与更新版本号(Update Number)
注意不要混淆:
-
更新号(如
_391)是 Oracle JDK 8 的补丁更新编号,属于发布版本标识,不是构建号 -
构建号(如
+12或b13)是同一更新内不同编译批次的内部编号,反映具体构建时间与 CI 流水线产出 - JDK 9+ 使用
+N格式(如 +12),JDK 8 及更早多用bN格式(如 b13)
查看完整构建信息(含 JVM 构建细节)
如果需要更底层的构建标识(比如 HotSpot VM 的独立构建号):
- 运行:
java -XshowSettings:properties -version 2>&1 | grep "java.vm.version" - 或直接看
java -version第三行:Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS, mixed mode, sharing)
括号内的build 17.0.1+12-LTS就是 JVM 的完整构建标识
验证 JAVA_HOME 对应的 JDK 构建号
当系统装有多个 JDK 时,确保你查的是当前生效的那个:
- 先确认 JAVA_HOME 指向:
echo $JAVA_HOME(Linux/macOS)或echo %JAVA_HOME%(Windows) - 再进入该路径下的 bin 目录,显式调用:
$JAVA_HOME/bin/java -version - 这样可避免因 PATH 中存在多个 java 导致误查其他 JDK 的构建号











