解决Spring报错:Failed to read candidate component class: file [ ]; nested exception is org.

news/2024/11/17 15:36:20/文章来源:https://www.cnblogs.com/jzxys/p/18349782

使用IDEA 建立一个很基础的Spring项目时,之前用xml方式,写bean标签一直正常使用,改用注解方式后发现报错,显示:

Exception in thread "XXX" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [XXX.class]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [XXX.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 57at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:454)at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:316)at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:275)at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:90)at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1391)at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1371)at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:179)at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:149)at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:96)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:513)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:393)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:257)at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:128)at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:94)at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133)at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:636)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:521)at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85)at XXX(XXX:XXX)
Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [XXX.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 57at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:57)at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:123)at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:430)... 25 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 57at org.springframework.asm.ClassReader.<init>(ClassReader.java:184)at org.springframework.asm.ClassReader.<init>(ClassReader.java:166)at org.springframework.asm.ClassReader.<init>(ClassReader.java:152)at org.springframework.asm.ClassReader.<init>(ClassReader.java:273)at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:54)... 28 more

最终发现,是Spring依赖与JDK版本不兼容导致。Spring创建时为低版本JDK,而最近运行此项目时使用的是现在安装的JDK22。于是将原先使用的 5.2.10.RELEASE 改为 6.1.0 报错解决。

        <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>6.1.10</version></dependency>

对于Spring 依赖的版本选择,可查阅https://mvnrepository.com/artifact/org.springframework/spring-context/6.1.10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/779976.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8.8前后端联调

MAC强制关闭进程 因为common和control是分开的 所以是control 如何找到你自己的admin 在历史里面找找 返回的信息码缺少了响应数据 严格控制请求头顺序,否则会错加字段 如果单个ads下只有一个Store的校验逻辑就必须重新考量,或者就必须强一致 如果没有设置怎么校验 如何在低…

字符串part01

今天学了字符产的第一部分:反转字符串,使用双指针。 反转字符串Ⅱ,需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。 数组填充问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。1. 反转字符串 题目:编写一个函数,…

upload-labs第21关分析与答案

upload-labs第21关审计1 第二十一关的参考代码 $is_upload = false; $msg = null; if(!empty($_FILES[upload_file])){//检查MIME$allow_type = array(image/jpeg,image/png,image/gif);if(!in_array($_FILES[upload_file][type],$allow_type)){$msg = "禁止上传该类型文件…

知攻善防Web1应急靶机笔记--详解

知攻善防Web1应急靶机笔记 概述 这是一台知攻善防实验室的应急响应靶机,方便大家练习一下应急响应的流程和操作。 靶机的前景概述:前景需要: 小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,这是他的服务器系统,请你找出以下内容,并作为通关条件…

Java方法06:递归

A方法调用B方法,我们很容易理解! 递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环! 递归算法重点: 递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己…

Redis学习笔记_1_基本安装与使用

黑马程序员Redis学习笔记一:Redis基本概念、安装使用、常见命令、Java客户端Redis 入门篇 1 初识Redis Redis是一种 键值型 的 NoSql 数据库键值型:指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符串、数值、甚至json NoSql:相对于传统…

数学

20240806 课件marp: true math: mathjax 数论入门 整除、同余、数论函数、素数………………………… by RenaMoe不讲证明的地方是因为用处不大而且俺也不会,请自行了解。 想要严谨而系统的学习 OI 相关的数学知识的话,建议读《具体数学》。基础概念 oi wiki整除 对于正整数 \…

04 课后题

04 课后题解释以下命令 mkdir /root/dir1 在root下创建一个目录 dir1 touch /root/dir1/file{1..10} 在/root/dir1/file 创建 file1—10 一共十个文件 find /root/dir1 -type f -name "file5" 使用find命令在 /root/dir1目录下 名字叫file5 的文件 find /root/dir1 …

notepad++安装HexEdit插件

notepad++安装HexEdit插件 打开notepad++,选择插件—>插件管理在这里找到HexEdit点击安装就可以点击完,notepad++会自动重启,重启完成就安装好了

用Python简单操作MySQL!轻松实现数据读写

PyMySQL是Python编程语言中的一个第三方模块,它可以让Python程序连接到MySQL数据库并进行数据操作。它的使用非常简单,只需要安装PyMySQL模块,然后按照一定的步骤连接到MySQL数据库即 可。本文将介绍PyMySQL的安装、连接MySQL数据库、创建表、插入数据、查询数据、更新数据和…

1.13 - 动手学聚类算法

1. 基于距离的k-means聚类,需要人工提供聚簇数量K 1.1 通过肘方法确定最佳聚簇数量import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler from sklearn.datasets import make_blobs, lo…

Linux C++ 开发2 - 编写、编译、执行第一个程序

上一篇《Linux C++ 开发1 - 搭建C++开发环境》我们搭建好了C++的开发环境,本篇我们将编写、编译、执行第一个程序。 1. 第一个C++程序 1.1. demo01.cpp 这里写一个最简单的HelloWord程序 #include <iostream>int main() {std::cout << "Hello, world!" …