Unsupported major.minor version 52.0
在CentOS release 6.5系统下执行java -jar '/opt/RedisPlus-0.0.1-SNAPSHOT.jar' 命令时候,报错信息如下:
[root@ycyzharry opt]# java -jar '/opt/RedisPlus-0.0.1-SNAPSHOT.jar' Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) [root@localhost opt]#
问题原因:该执行环境的jdk版本低于编译环境的jdk版本,本例中RedisPlus-0.0.1-SNAPSHOT.jar文件是在jdk1.8环境下编译的,而java -jar执行环境下jdk版本是1.7,该报错信息表示执行环境不支持jdk1.8版本。
解决办法:检查执行环境的jdk版本,确保与编译环境jdk版本一致。
[root@ycyzharry opt]# java -version java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
另外,升级jdk版本可参考CentOS release 6.5下jdk1.7升级到1.8