查看java class文件的编译版本号

用maven做项目依赖管理,依赖了一个其他组开发的一个基础包。结果,在使用maven进行编译打包的时候,报了错: Unsupported major.minor version 51.0。
注:我本机上目前只安装了 jdk 1.8
使用Eclispse自带的工具,即使看不到源码,也还可以看到该class当时编译器的版本。
查看java class文件的编译版本号
文章图片

如果没有eclipse,也可以使用java自带的工具,查看 class编译时使用的编译器版本。

$ javap -v ServiceImpl.class

或者
$ javap -verbose ServiceImpl.class

查看java class文件的编译版本号
文章图片

我们可以看一下 jdk版本和major version对应关系:
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

【查看java class文件的编译版本号】由此,可以说明 ,依赖的jar包是经过jdk1.7 的编译器进行编译的。

    推荐阅读