我有一个java类文件。如何找出用于编译此文件的编译器的版本?我在 Ubuntu Server 12.04 上。
找出 Java 类文件的编译器版本
逆向工程
编译器
爪哇
2021-06-15 07:36:04
3个回答
JDK 包括一个javap
命令。它提供了很多信息,但您可以像这样使用它:
javap -verbose yourClass | grep version
示例输出:
minor version: 0
major version: 51
主要版本告诉您编译器的版本:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
同样,它所基于的file(1)
实用程序 andlibmagic(3)
可以成为您的朋友:
$ file Gwan.class
Gwan.class: compiled Java class data, version 50.0 (Java 1.6)
您正在命令行上查找此内容(对于名为 MyClass 的类):
在 Unix/Linux 上:
javap -verbose MyClass | grep "major"
在 Windows 上:
javap -verbose MyClass | findstr "major"
您需要结果中的主要版本。以下是一些示例值:
- Java 1.2 使用主要版本 46
- Java 1.3 使用主要版本 47
- Java 1.4 使用主要版本 48
- Java 5 使用主要版本 49
- Java 6 使用主要版本 50
- Java 7 使用主要版本 51
- Java 8 使用主要版本 52