前言
今天下午把一个后台管理系统打包成jar包部署到服务器上时,遇到了一个报错,写个博客记录一下
报错原因
jar包在上传到服务器上之前,测试jar包在本地运行是没有问题的,然后放在服务器上运行之后报错,具体报错如下
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/example/layui/LayuiApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
经过翻译插件(本人英语极差哈哈)翻译后得知原因是服务器上的jdk版本与spring boot项目的jdk版本不一致,将服务器的jdk重装更高版本的即可解决。
解决方案
jdk的安装方法有很多种,下面讲在命令行中安装的方法。
- 服务器系统:CentOS 7
- JDK版本:jdk1.8 ==> jdk11
- 查看已经安装的jdk版本信息
java -version
// 查看JDK版本信息
//如果未安装,服务器提示:-bash: java: command not found
rpm -qa|grep jdk
// 查看已经安装的jdk
// 如果没有jdk,服务器没有任何信息
- 卸载已有的jdk
yum -y remove jdk1.8.0_121-1.8.0_121-fcs.x86_64
// 根据rpm -qa|grep jdk查出的信息卸载对应的jdk
- 安装所需的jdk
yum -y list java*
// 查看可安装的jdk版本
yum -y install java-11-openjdk-static-libs.x86_64
// 找到对应所需的jdk版本进行安装
- 查看jdk是否安装成功
java -version
再次执行java -version指令查看JDK是否已经安装成功
安装成功后再次运行jar包,报错解决。
写在最后
本人是即将大三的废物蒟蒻一个,若有问题欢迎指正与讨论,感谢三连
|