簡體   English   中英

解析配置失敗 class

[英]Failure to parse configuration class

我正在嘗試構建一個之前在不同版本的 IntelliJ 中構建和運行的項目。 錯誤信息如下:

錯誤 osboot.SpringApplication - 應用程序運行失敗 org.springframework.beans.factory.BeanDefinitionStoreException:無法解析配置 class [org.wbs.grader.books.BooksApplication]; 嵌套異常是 java.lang.IllegalStateException:無法在 org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:184) 上的 class org.wbs.grader.books.BooksApplication 上反省帶注釋的方法。 .annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:325) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:242) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275 ) 在 org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95) 在 org.springframework.context.support.AbstractApplicationContext.invokeBeanFacto ryPostProcessors(AbstractApplicationContext.java:706)在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:532)在org.springframework.boot.SpringApplication.refresh(SpringApplication.8821324694457888) .SpringApplication.refreshContext(SpringApplication.java:397) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:315) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) 在 org.springframework boot.SpringApplication.run(SpringApplication.java:1215) 在 org.wbs.grader.books.BooksApplication.main(BooksApplication.java:19) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingMethodAcce ssorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:566) 在 org.springframework.boot.devtools.restart.Restart248888:566) 49)引起:java.lang.IllegalStateException:無法在 class org.wbs.grader.books.BooksApplication 上反省注釋方法.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:395) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:320) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java :245) 在 org.springframework.context.annotation.ConfigurationClassP arser.parse(ConfigurationClassParser.java:202) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:170) 省略了 17 個常見幀 原因:java.lang.IllegalStateException: Failed8 to introspect4418b58 [ .grader.books.BooksApplication] 來自 ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@356d44b2] 在 org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:477) 在 org.springframework.util。 ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:451) at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:154) 22 common frames omitted Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext at java. base/java.lang.Class.getDeclaredMethods0(本機方法)位於 java.base/java.lang.Class.privateGe tDeclaredMethods(Class.java:3166) at java.base/java.lang.Class.privateGetPublicMethods(Class.java:3191) at java.base/java.lang.Class.getMethods(Class.java:1904) at org.springframework .util.ReflectionUtils.findConcreteMethodsOnInterfaces(ReflectionUtils.java:487)在 org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:460)

我曾嘗試使用不同版本的 JDK 8、11、17,但都給出了相同的錯誤。

我嘗試重建 Spring 引導初始化程序,但沒有效果。

我認為您沒有使用子包或相同的 package,其中定義了您的 spring 應用程序 main class,因此請使用此方法

您需要將您的代碼移動到它自己的 package 中。 例如,將 .java 文件移動到 src/main/java/com/example 並添加 package com.example; 到每個文件的頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM