Mic*_*rdt 11
这是不可能的,因为您甚至不需要JDK来构建JAR文件 - 它只是一个包含类和清单文件的ZIP文件.
您可以找到的是使用什么版本的类文件格式.主要版本号映射到majorJDK版本:
J2SE 6.0 = 50 (0x32 hex)
J2SE 5.0 = 49 (0x31 hex)
JDK 1.4 = 48 (0x30 hex)
JDK 1.3 = 47 (0x2F hex)
JDK 1.2 = 46 (0x2E hex)
JDK 1.1 = 45 (0x2D hex)
Run Code Online (Sandbox Code Playgroud)
但是,java编译器可以选择使用先前版本的类文件格式,该格式经常用于实现向下兼容性.但是,如果您发现类文件版本的主要编号为50,则您知道这些类绝对不是使用Java 5或更早版本的JDK编译的.
Edw*_*uck 10
大多数罐子都是使用随jdk打包的"jar"工具构建的.
在SUN的JDK中,提供的"jar"工具将在嵌入的META-INF/MANIFEST.MF文件中添加"Created-By"行.
该行将指定创建JAR的JDK版本(在我的案例中为"Created-By:1.6.0_17(Sun Microsystems Inc.)")
其他Java供应商也倾向于这样做.
您可以从jar文件中提取类文件,并使用以下命令:
javap -verbose SomeClass | grep major
Run Code Online (Sandbox Code Playgroud)
应该给你类文件的版本号.
| 归档时间: |
|
| 查看次数: |
31397 次 |
| 最近记录: |