我只是学习如何在不使用xml文件的情况下进行组件扫描。但是,当我使用xml代码时,我的应用程序可以工作,但是没有xml,我的应用程序就会抛出上面的错误,这可能是陈词滥调,但我对这些程序并不熟悉,所以希望您能帮我解决这个问题。如果我在xml中使用组件,或者不使用xml,那么它就不能工作。这是我的代码这是我的完全错误
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客车接口
package com.lepras.springdemo;
public interface Coach {
public String getDailyWorkout();
}TennisCoach.class
package com.lepras.springdemo;
public class TennisCoach implements Coach {
@Override
public String getDailyWorkout() {
// TODO Auto-generated method stub
return "practice bakchand volley";
}
}SportsConfig.class
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
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();
}
}发布于 2022-01-25 05:11:20
实际上,我找到了答案,因为我的eclipse使用jdk 17运行,而我安装了jdk 16.0.2,您只需单击项目-> build >配置构建路径->java编译器->编译器遵从级别到更低的jdk级别,这要感谢每个人的帮助。
https://stackoverflow.com/questions/70843422
复制相似问题