方法一:查看清单文件。
解压jar包,查看jar包中的META-INF\MANIFEST.MF文件,Build-Jdk属性就是JDK的版本。比如:
Build-Jdk: 1.5.0_22
注:如果jar包中,没有这个字段,就必须通过方法二来查看。
方法二:通过反编译.class文件来查看。
解压jar包,得到.class文件。用JDK自带的javap反编译.class文件,用如下命令:
javap -v JavaSource.class
查看得到的信息中,major version属性的内容,如下:
major version: 52 //主版本号minor version: 0 //小版本号
说明这个.class文件是由JDK1.8编译得到的。
- J2SE 8.0 = 52(0x33 hex)
- J2SE 7.0 = 51(0x32 hex)
- 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)
注:一个.jar包中可能有多个.class文件,每个.class的JDK版本可能会不一样(编译器多个项目设置不同)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如何设置eclipse导出.jar的JDK版本
我们可以在同一台机器上安装多个JDK,然后在eclipse中选择不同版本的JDK来导出.jar包。
Project右键->Properties->Java Compiler中的JDK Compliance选项下,有Use Compliance from execution environment 选择JDK版本。
注:如果一个.jar依赖于多个Project,必须将每个Project的JDK版本都选择一致。