Unsupported major.minor version 52.0 Linux下项目要求jdk与全局环境jdk不匹配 动态jdk启动项目

匿名 (未验证) 提交于 2019-12-02 21:56:30

1、本人因为要在设置好全局jdk为1.7的linux服务器上启动一个用springboot2.0(要求jdk1.8及以上)的jar包项目,出现了下面的异常:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher : Unsupported major.minor version 52.0

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)

有下面两种解决方式:

方式一:动态jdk启动项目

前提:在环境中有带需要的jdk版本,比如我环境中有如下两个版本的jdk

其中1.7位全局配置好的jdk

在linux下执行下面的命令行就OK了

其中/usr/local/jdk1.8.0_144/bin/为需要运行用的jdk的位置,/opt/java/jar/ceshi.jar为需要运行的jar包。

方式二:设置局部变量

前提:在环境中有带需要的jdk版本,比如我环境中有如下两个版本的jdk

其中1.7位全局配置好的jdk。

创建一个新用户,参考:https://blog.csdn.net/li_101357/article/details/69367457

给普通用户设置局部的jdk,参考:https://blog.csdn.net/u013189824/article/details/80653861

设置完局部变量之后,用该用户去运行项目就OK了。

 

文章来源: https://blog.csdn.net/hzhahsz/article/details/90266322
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!