使用 "java -jar"命令启动jar包时报不支持的jdk版本异常

Posted 十光年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 "java -jar"命令启动jar包时报不支持的jdk版本异常相关的知识,希望对你有一定的参考价值。

在使用java -jar 命令启动一个jar包的时候,提示版本不支持:

 1 [root@hadoop01 eureka-server-master]# java -jar xuebusi-eureka-server-master.jar 
 2 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/xuebusi/EurekaApplication : 
Unsupported major.minor version 52.0
3 at java.lang.ClassLoader.defineClass1(Native Method) 4 at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 5 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 6 at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 7 at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 8 at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 9 at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 10 at java.security.AccessController.doPrivileged(Native Method) 11 at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 12 at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 13 at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94) 14 at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 15 at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46) 16 at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) 17 at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) 18 at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) 19 [root@hadoop01 eureka-server-master]#

这是因为JDK版本过低的原因(我使用maven打jar包的时候jdk使用的是1.8版本,而我使用java -jar运行该jar包的时候服务器上安装的jdk是1.7版本):

类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本编译即可。 
48495051,52 是Java编译器内部的版本号: 
Unsupported major.minor version 52.0 对应于 JDK1.8(JRE1.8) 
Unsupported major.minor version 51.0 对应于 JDK1.7(JRE1.7) 
Unsupported major.minor version 50.0 对应于 JDK1.6(JRE1.6) 
Unsupported major.minor version 49.0 对应于 JDK1.5(JRE1.5) 
Unsupported major.minor version 48.0 对应于 JDK1.4(JRE1.4

 

解决版本:统一JDK版本,打jar包时的jdk版本要和运行jdk时所使用的jdk版本保持一致。

修改maven的pom.xml文件中的jdk版本为1.7,然后重新打jar包。

再次使用"java -jar"命令启动jar包,就不再有版本问题了。

 

如果本文对您有所帮助,请扫描下方微信二维码打赏,您的鼓励是我前进最大的鼓励!

 

以上是关于使用 "java -jar"命令启动jar包时报不支持的jdk版本异常的主要内容,如果未能解决你的问题,请参考以下文章

我应该采用 Java 12 还是坚持使用 Java 11?

java语言Class类的作用是啥以及怎么使用?

什么是java控件?怎样使用java控件?

使用java语言,如何对一个类中的静态方法做切面编程?

JAVA中如何使用SORT从大到小排.

使用 Java 17 项目后尝试运行 Java 8 项目时出错