在 CentOS 上查看 Java 编译版本(即 class 文件版本 / JDK 版本),常见有几种方式,取决于你想看的是系统 Java 版本还是某个 .class 文件的编译版本。
java -version
或
javac -version
示例输出:
openjdk version "1.8.0_382"
表示 JDK 8。
.class 文件的编译版本使用 javap 命令(JDK 自带):
javap -v YourClass.class | grep "major version"
示例:
javap -v Test.class | grep "major version"
输出:
major version: 52
| major version | Java 版本 |
|---|---|
| 45 | JDK 1.1 |
| 46 | JDK 1.2 |
| 47 | JDK 1.3 |
| 48 | JDK 1.4 |
| 49 | JDK 5 |
| 50 | JDK 6 |
| 51 | JDK 7 |
| 52 | JDK 8 |
| 53 | JDK 9 |
| 54 | JDK 10 |
| 55 | JDK 11 |
| 56 | JDK 12 |
| 61 | JDK 17 |
| 65 | JDK 21 |
javap -v -classpath your.jar com.example.YourClass | grep "major version"
ls /usr/lib/jvm/
或
update-alternatives --list java
如果你是想 确认某个项目是用哪个 JDK 编译的,可以把 .class 或 .jar 发我,我可以帮你判断。