Unsupported major.minor version 51.0问题的原因与解决方法

问题描述:本地项目导成jar文件之后,放到服务器上运行,一直报“Unsupported major.minor version 51.0”的错误。
问题原因:jar文件编译时的java compiler比服务器上的1.6的jdk高
解决方法:eclipse中,java build path配置的jdk版本、java compiler中配置的compiler compliance level都和服务器上的jdk版本设置成一致,重新导jar文件即可。

说明:eclipse中,java build path配置的jdk版本,作用是开发的时候使用的jdk,就是你在eclipse中开发代码,可以导入哪个jdk版本里的类,如:使用jdk1.5就不能导入javax.annotation.Resource类,配置成1.6就可以import javax.annotation.Resource类;
java compiler compliance level中配置的编译版本,作用是*.java文件编译*.class文件使用的版本,导出的jar包的编译版本,如:将level设置成1.5,接口的实现的方法上面就不能加@Override注解,配置成1.6就能加@Override注解。上面的错误就是由于build path中配置1.7的JDK,java compiler compliance level中配置的1.7,但是服务器上是1.6的JDK引起的,导致编译所用的jdk(1.7)比运行所用的jdk(1.6)高而报错。




你可能感兴趣的:(jdk,compiler)