13. SpringBoot启动报错:Error:(3, 32) java:无法访问org.springframework.boot.SpringApplication 错误的类文件...

简介: 今天使用 `Spring Initializr` 创建了一个 `Spring Boot` 项目,启动时发现如下报错:Error:(3, 32) java:无法访问org.springframework.boot.SpringApplication 错误的类文件...

image.png

❤️ 个人主页: 水滴技术
🌸 订阅专栏: 成功解决 BUG 合集
🚀 支持水滴: 点赞👍 + 收藏⭐ + 留言💬

问题描述

今天使用 Spring Initializr 创建了一个 Spring Boot 项目,启动时发现如下报错:

Error:(3, 32) java: 无法访问org.springframework.boot.SpringApplication
  错误的类文件: /F:/apache-maven-3.6.3/repository/org/springframework/boot/spring-boot/3.0.0/spring-boot-3.0.0.jar!/org/springframework/boot/SpringApplication.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

a514f8ffff4bea0ba4db159bbc675f63_image_auth_key=1686704794-mwPHG2uvpBaGAfDfngtqXQ-0-5d1cf8b49c1917412be1ae883389157a&file_size=29837.png

原因分析

翻了翻 Spring 的官网,终于找到了答案,原来我创建的项目默认使用了 Spring Boot 3.0.0,而 3.0 要求 Java 最低版本为 17。

114762cf7c5d5134874ced96931c4f93_image_auth_key=1686704811-uRWmNkgVntJm7ek1tDiZQy-0-4d23947d6a18f11ac92b04fce2cf1f16&file_size=22197.png

解决方案

方案一:升级自己的 Java 版本到 17 或 19。

方案二:把项目的 SpringBoot 版本降低至 2.0,目前2.0最新的GA版本为 2.7.6。

6d28dc3c6dd953e4b5d72c6047a57c3b_image_auth_key=1686704824-wz4EUbYaqaW93A5EggKFqt-0-579e5f92723b1cd841f1c33d36036e11&file_size=48663.png


热门专栏

👍 《Python入门核心技术

👍 《Java 教程:从入门到精通

👍 《MySQL 教程:从入门到精通

相关文章
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
100 9
|
20天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
90 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
11天前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
26 11
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
172 57
|
1月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
102 34
|
27天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
75 8
|
2月前
|
消息中间件 存储 Java
RocketMQ文件刷盘机制深度解析与Java模拟实现
【11月更文挑战第22天】在现代分布式系统中,消息队列(Message Queue, MQ)作为一种重要的中间件,扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件,广泛应用于实时数据流处理、日志流处理等场景。为了保证消息的可靠性,RocketMQ引入了一种称为“刷盘”的机制,将消息从内存写入到磁盘中,确保消息持久化。本文将从底层原理、业务场景、概念、功能点等方面深入解析RocketMQ的文件刷盘机制,并使用Java模拟实现类似的功能。
55 3
|
2月前
|
JSON JavaScript 前端开发
springboot中使用knife4j访问接口文档的一系列问题
本文作者是一位自学前端两年半的大一学生,分享了在Spring Boot项目中使用Knife4j遇到的问题及解决方案,包括解决Swagger请求404错误、JS错误等,详细介绍了依赖升级、注解替换及配置修改的方法。
317 1
|
5月前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
70 7