[Spring Boot] 开发时可以运行,但Maven打包后,无法运行

问题:开发过程中一切正常,但在打包后,使用java -jar运行jar包时报错

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

这个错误信息表明你正在使用的 Java 运行时版本过旧,无法识别编译的 class 文件版本 (版本 61.0)。 当前的 Java 运行时仅能识别到 class 文件版本 52.0。 为解决此问题,请安装更高版本的 Java class 文件降低版本以符合当前

原因:和windows环境变量中的java版本,和开发时的java版本不对应

  • 例如开发时使用的java版本是1.7 。我们在编译时,IDE会自动使用你指定的版本去运行
  • 但打包以后就不一样了,运行时是根据windows环境变量来的,如果它不是1.7,就会导致这问题

解决:只要把环境变量中的路径,调整成对应的java版本目录即可

环境变量设置方法:右键我的电脑 - 属性 - 1.高级系统设置 - 2.环境变量 - 3.找到path - 4.编辑

相关推荐
weixin_4196583112 小时前
Spring 的统一功能
java·后端·spring
小许学java13 小时前
Spring AI-流式编程
java·后端·spring·sse·spring ai
canonical_entropy13 小时前
对《DDD本质论》一文的解读
后端·架构·领域驱动设计
码事漫谈13 小时前
我用亲身经历告诉你,为什么程序员千万别不把英语当回事
后端
码事漫谈13 小时前
C++ const 用法全面总结与深度解析
后端
间彧13 小时前
分布式单例模式在微服务架构中的实际应用案例
后端
间彧13 小时前
分布式系统中保证单例唯一性的Java解决方案
后端
间彧13 小时前
为什么避免在单例中保存上下文状态
后端
EnCi Zheng13 小时前
SpringBoot + PostgreSQL 密码认证失败 Windows 系统解决方案
windows·spring boot·postgresql
间彧13 小时前
单例模式防御反射与序列化攻击的意义与实践
后端