首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上下文初始化过程中遇到的异常-取消刷新尝试org.springframework.beans.factory.BeanDefinitionStoreException

上下文初始化过程中遇到的异常-取消刷新尝试org.springframework.beans.factory.BeanDefinitionStoreException
EN

Stack Overflow用户
提问于 2022-01-25 04:24:22
回答 1查看 6K关注 0票数 0

我只是学习如何在不使用xml文件的情况下进行组件扫描。但是,当我使用xml代码时,我的应用程序可以工作,但是没有xml,我的应用程序就会抛出上面的错误,这可能是陈词滥调,但我对这些程序并不熟悉,所以希望您能帮我解决这个问题。如果我在xml中使用组件,或者不使用xml,那么它就不能工作。这是我的代码这是我的完全错误

代码语言:javascript
复制
Jan 25, 2022 9:38:04 AM org.springframework.context.support.AbstractApplicationContext refresh
WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\Spring\Spring-java-config\bin\com\lepras\springdemo\Coach.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 [D:\Spring\Spring-java-config\bin\com\lepras\springdemo\Coach.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 61
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\Spring\Spring-java-config\bin\com\lepras\springdemo\Coach.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 [D:\Spring\Spring-java-config\bin\com\lepras\springdemo\Coach.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 61
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:452)
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:315)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:276)
    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:295)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:249)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:206)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:174)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:319)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:236)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:280)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:96)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533)
    at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:89)
    at com.lepras.springdemo.JavaConfigAppdemo.main(JavaConfigAppdemo.java:8)
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 [D:\Spring\Spring-java-config\bin\com\lepras\springdemo\Coach.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 61
    at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:60)
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
    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:429)
    ... 15 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61
    at org.springframework.asm.ClassReader.<init>(ClassReader.java:196)
    at org.springframework.asm.ClassReader.<init>(ClassReader.java:177)
    at org.springframework.asm.ClassReader.<init>(ClassReader.java:163)
    at org.springframework.asm.ClassReader.<init>(ClassReader.java:284)
    at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:57)
    ... 19 more

客车接口

代码语言:javascript
复制
package com.lepras.springdemo;

public interface Coach {
    public String getDailyWorkout();
}

TennisCoach.class

代码语言:javascript
复制
package com.lepras.springdemo;

public class TennisCoach implements Coach {

    @Override
    public String getDailyWorkout() {
        // TODO Auto-generated method stub
        return "practice bakchand volley";
    }

}

SportsConfig.class

代码语言:javascript
复制
package com.lepras.springdemo;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.lepras.springdemo")
public class SportsConfig {

}

Main

代码语言:javascript
复制
package com.lepras.springdemo;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class JavaConfigAppdemo {

    public static void main(String[] args) {
        AnnotationConfigApplicationContext context  = new AnnotationConfigApplicationContext(SportsConfig.class);
        Coach theCoach = context.getBean("TennisCoach", Coach.class);
        System.out.println(theCoach.getDailyWorkout());
        context.close();
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-25 05:11:20

实际上,我找到了答案,因为我的eclipse使用jdk 17运行,而我安装了jdk 16.0.2,您只需单击项目-> build >配置构建路径->java编译器->编译器遵从级别到更低的jdk级别,这要感谢每个人的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70843422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档