[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.编辑

相关推荐
立心者07 分钟前
SpringBoot中使用TOTP实现MFA(多因素认证)
java·spring boot·后端
AskHarries44 分钟前
SEO 页面怎么生成
后端
爱吃牛肉的大老虎1 小时前
Rust对象之结构体,枚举,特性
开发语言·后端·rust
石榴1 小时前
NestJS 的请求到底经过了什么:装饰器、守卫、拦截器、管道与中间件如何配合
后端
Gopher_HBo1 小时前
moby-client客户端
后端
杨运交2 小时前
[055][调度模块]Spring动态任务调度框架的设计与实现
java·后端·spring
卷福同学3 小时前
AI编程出海第二步:验证关键词能否做站
前端·人工智能·后端
Csvn4 小时前
📊 SQL 入门 Day 11:CASE 表达式:SQL 里的 if-else 魔法
后端·sql
QQ_21696290964 小时前
Spring Boot 养老院管理系统:从入住、护理到费用结算的全流程实现(源码可领)
java·spring boot·后端
万少6 小时前
DeepSeek-V4-Flash 正式版上线了,但这 3 个坑我帮你提前踩了
前端·javascript·后端