“Unsupported major.minor version 51.0”的错误信息。
原因:执行环境中的JRE版本与被执行代码的class文件不兼容,一本是因为编译Java代码时使用的JRE版本比代码运行环境的JRE版本要高。我们所遇到的问题正式这样,有的同学的Mac机上模式使用的Java 7,而远程Linux服务器上我们是默认使用Java 6.
Java版本的主版本号如下:
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
解决方案有两个:
(1)将执行环境的Java调整为兼容的高版本(如Java 7)
下载新版Java,并设置如下的环境变量即可:
(2)将那些代码重新编译打包,编译为兼容较低版本的class文件(如Java 6)
比如,在Eclipse中,“project => Proerties => Java Compiler”,设置”Compiler compliance level”为执行环境的Java版本。
或者,直接用javac命令编译时,指定生成class文件兼容的Java版本:javac -source 1.6 HelloWorld.java