用maven做项目依赖管理,依赖了一个其他组开发的一个基础包。结果,在使用maven进行编译打包的时候,报了错: Unsupported major.minor version 51.0。
注:我本机上目前只安装了 jdk 1.8
使用Eclispse自带的工具,即使看不到源码,也还可以看到该class当时编译器的版本。
文章图片
如果没有eclipse,也可以使用java自带的工具,查看 class编译时使用的编译器版本。
$ javap -v ServiceImpl.class
或者
$ javap -verbose ServiceImpl.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 的编译器进行编译的。