Spring Boot 应用程序启动失败:不支持的类文件主要版本 64
{
"title": "\u001b[2m2023-07-14 13:23:37.972\u001b[0;39m \u001b[31mERROR\u001b[0;39m \u001b[35m76120\u001b[0;39m \u001b[2m---\u001b[0;39m \u001b[2m[ restartedMain]\u001b[0;39m \u001b[36mo.s.boot.SpringApplication \u001b[0;39m \u001b[2m:\u001b[0;39m Application run failed\n\norg.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\Users\ASUS\Desktop\SpringBoot-YunPan-main\SpringBoot-YunPan-main\target\classes\com\bjpowernode\pan\PanApplication.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 [C:\Users\ASUS\Desktop\SpringBoot-YunPan-main\SpringBoot-YunPan-main\target\classes\com\bjpowernode\pan\PanApplication.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 64\n\tat org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:454) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:316) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:275) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:287) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]\n\tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]\n\tat org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]\n\tat org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:311) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1213) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1202) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]\n\tat com.bjpowernode.pan.PanApplication.main(PanApplication.java:10) ~[classes/:na]\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:578) ~[na:na]\n\tat org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.1.6.RELEASE.jar:2.1.6.RELEASE]\nCaused 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 [C:\Users\ASUS\Desktop\SpringBoot-YunPan-main\SpringBoot-YunPan-main\target\classes\com\bjpowernode\pan\PanApplication.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 64\n\tat org.springframework.core.type.classreading.SimpleMetadataReader.xml\n<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">\n <property name="url" value="jdbc:mysql://localhost:3306/mydatabase" />\n <property name="username" value="root" />\n <property name="password" value="123456" />\n</bean>\n\n在Java代码中通过Spring的依赖注入来获取mysql数据源位置。\n这个如何获取内容:根据错误信息,该错误是由于Java类文件的版本不受支持导致的。具体来说,错误信息中提到的类文件版本为64,而当前的Spring版本不支持该版本。\n\n为了解决这个问题,你可以尝试以下几个步骤:\n\n1. 确认Java版本:检查你的Java版本是否与Spring框架兼容。Spring 5.x版本需要Java 8及以上版本。如果你的Java版本低于8,请升级到兼容的Java版本。\n\n2. 更新Spring版本:如果你的Java版本是兼容的,但仍然遇到问题,尝试更新你的Spring版本。可以在项目的构建配置文件中更新Spring的版本号,然后重新构建项目。\n\n3. 检查项目依赖:检查你的项目依赖是否与Spring版本兼容。如果你使用了其他库或框架,确保它们与所使用的Spring版本兼容。可以通过查看它们的文档或官方网站来获取相关信息。\n\n4. 清除Maven或Gradle缓存:如果你使用Maven或Gradle构建项目,尝试清除它们的本地缓存。可以通过删除~/.m2/repository目录(对于Maven)或~/.gradle/caches目录(对于Gradle)来实现。\n\n5. 检查类文件版本:如果你手动编译了类文件并将其添加到项目中,确保编译器版本与所使用的Java版本兼容。你可以通过运行javac -version命令来检查编译器版本。\n\n如果你仍然遇到问题,建议提供更多项目配置和依赖的详细信息,以便更好地帮助你解决问题。\n
原文地址: http://www.cveoy.top/t/topic/pMva 著作权归作者所有。请勿转载和采集!