Springboot :BeanDefinitionStoreException: 解析配置类失败

Posted

技术标签:

【中文标题】Springboot :BeanDefinitionStoreException: 解析配置类失败【英文标题】:Springboot :BeanDefinitionStoreException: Failed to parse configuration class 【发布时间】:2016-05-06 08:35:28 【问题描述】:

我正在尝试通过运行使用 maven 创建的 jar 来执行我的 springboot 应用程序,并遇到异常,经过多次尝试后仍未解决。任何帮助或指针将不胜感激。

提前致谢。

请在下面找到异常跟踪。

 2016-01-28 11:35:42.034  INFO 3732 --- [           main] Application                              : Starting Application on DFWLW72RTG262 with PID 3732 (C:\project\RestSpringBoot\target\springboot-0.0
.1-SNAPSHOT.jar started by vaigupta in C:\project\RestSpringBoot\target)
2016-01-28 11:35:42.123  INFO 3732 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7
d7cd6ad: startup date [Thu Jan 28 11:35:42 CST 2016]; root of context hierarchy
2016-01-28 11:35:42.149  WARN 3732 --- [           main] ionWarningsApplicationContextInitializer :

** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.


2016-01-28 11:35:48.607  WARN 3732 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [Application]; nested exception is java.io.FileNotFoundException: class path resource [org/springfra
mework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened because it does not exist
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:177)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:306)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
        at Application.main(Application.java:9)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened b
ecause it does not exist
        at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:50)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)
        at org.springframework.core.type.clas-s-reading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93)
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:591)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass(ConfigurationClassParser.java:762)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:297)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:266)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:163)
        ... 18 common frames omitted

2016-01-28 11:35:48.645  INFO 3732 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [jar:file:/C:/project/RestSpringBoot/target/springboot-0
.0.1-SNAPSHOT.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-starter-web-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.
0.1-SNAPSHOT.jar!/lib/spring-boot-starter-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestS
pringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-autoconfigure-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-starter-log
ging-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jul-to-slf4j-1.7.7.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.j
ar!/lib/log4j-over-slf4j-1.7.7.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/logback-classic-1.1.2.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0
.0.1-SNAPSHOT.jar!/lib/logback-core-1.1.2.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/snakeyaml-1.14.jar!/, jar:file:/C:/project/RestSpringBoot/target/springbo
ot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-starter-tomcat-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/tomcat-embed-core-8.0.15.jar!/, jar:file:/C:/pr
oject/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/tomcat-embed-el-8.0.15.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/tomcat-embed-logging-juli-8.0
.15.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/tomcat-embed-websocket-8.0.15.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/
lib/jackson-databind-2.4.4.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jackson-annotations-2.4.4.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0
.0.1-SNAPSHOT.jar!/lib/jackson-core-2.4.4.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/hibernate-validator-5.1.3.Final.jar!/, jar:file:/C:/project/RestSpringBoo
t/target/springboot-0.0.1-SNAPSHOT.jar!/lib/validation-api-1.1.0.Final.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jboss-logging-3.1.3.GA.jar!/, jar:file:/C:/p
roject/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/classmate-1.0.0.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-core-4.1.3.RELEASE.jar!/, ja
r:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-web-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-aop-4.1
.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/aopalliance-1.0.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spr
ing-beans-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-context-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0
.0.1-SNAPSHOT.jar!/lib/spring-webmvc-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-expression-4.1.3.RELEASE.jar!/, jar:file:/C:/project/Rest
SpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-starter-data-jpa-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-starter
-aop-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/aspectjrt-1.8.4.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!
/lib/aspectjweaver-1.8.4.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-boot-starter-jdbc-1.2.0.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/s
pringboot-0.0.1-SNAPSHOT.jar!/lib/spring-jdbc-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/tomcat-jdbc-8.0.15.jar!/, jar:file:/C:/project/RestSpri
ngBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/tomcat-juli-8.0.15.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-tx-4.1.3.RELEASE.jar!/, jar:file:/C:/pro
ject/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/hibernate-entitymanager-4.3.7.Final.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jboss-logging-ann
otations-1.2.0.Beta1.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/hibernate-core-4.3.7.Final.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-
SNAPSHOT.jar!/lib/antlr-2.7.7.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jandex-1.1.0.Final.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1
-SNAPSHOT.jar!/lib/dom4j-1.6.1.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/xml-apis-1.0.b2.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-S
NAPSHOT.jar!/lib/hibernate-commons-annotations-4.0.5.Final.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar!/, jar:file:/C:/pr
oject/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/javassist
-3.18.1-GA.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-orm-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar
!/lib/spring-data-jpa-1.7.1.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-data-commons-1.9.1.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/ta
rget/springboot-0.0.1-SNAPSHOT.jar!/lib/slf4j-api-1.7.7.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/jcl-over-slf4j-1.7.7.jar!/, jar:file:/C:/project/RestSpring
Boot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/spring-aspects-4.1.3.RELEASE.jar!/, jar:file:/C:/project/RestSpringBoot/target/springboot-0.0.1-SNAPSHOT.jar!/lib/hsqldb-2.3.2.jar!/]
2016-01-28 11:35:48.669 ERROR 3732 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [Application]; nested exception is java.io.FileNotFoundException: class path resource [org/springfra
mework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened because it does not exist
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:177)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:306)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
        at Application.main(Application.java:9)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened b
ecause it does not exist
        at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:50)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)
        at org.springframework.core.type.clas-s-reading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93)
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:591)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass(ConfigurationClassParser.java:762)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:297)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:266)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:163)
        ... 18 common frames omitted

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [Application]; nested exception is java.io.FileNotFoundException: class path resource [or
g/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened because it does not exist
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:177)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:306)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
        at Application.main(Application.java:9)
        ... 6 more
Caused by: java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened b
ecause it does not exist
        at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:50)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)
        at org.springframework.core.type.clas-s-reading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93)
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:591)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass(ConfigurationClassParser.java:762)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:297)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:266)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:163)
        ... 18 more
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
        ... 1 more
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [Application]; nested exception is java.io.FileNotFoundException: class path resource [or
g/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened because it does not exist
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:177)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:306)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
        at Application.main(Application.java:9)
        ... 6 more
Caused by: java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened b
ecause it does not exist
        at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:50)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)
        at org.springframework.core.type.clas-s-reading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
        at org.springframework.core.type.clas-s-reading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93)
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:591)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass(ConfigurationClassParser.java:762)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:297)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:266)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:163)
        ... 18 more

下面是我的 pom.xml 文件。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.0.RELEASE</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>springboot</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBoot</name>
    <description>Spring Boot Example</description>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

    <build>
  <plugins>
    <plugin>
      <!-- Build an executable JAR -->
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.4</version>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>Application</mainClass>
        </manifest>
        </archive>
      </configuration>
    </plugin>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.3.2.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>


  </plugins>
</build>

<pluginRepositories>
    <pluginRepository>
        <id>spring-snapshots</id>
        <url>http://repo.spring.io/snapshot</url>
    </pluginRepository>
    <pluginRepository>
        <id>spring-milestones</id>
        <url>http://repo.spring.io/milestone</url>
    </pluginRepository>
</pluginRepositories>
</project>

【问题讨论】:

看这个:java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened b ecause it does not exist @Jens:是的,我看到了,不知道为什么会这样。我的 pom.xml 文件中没有任何 spring 安全依赖项。 我在这里找到了类似问题的答案:***.com/questions/46804357/… 【参考方案1】:

您的代码在默认包中,即您在src/main/java 中有.java 文件,顶部没有package 语句。日志中有一条警告消息表明这可能会导致问题:

** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

您需要将代码移动到自己的包中。例如,将您的 .java 文件移动到 src/main/java/com/example 并将 package com.example; 添加到每个文件的顶部。

【讨论】:

谢谢它的工作,我还在 pom.xml 文件中将主文件名更改为 com.example.Application。 @Andy Wilkinson 你能解释一下为什么会这样吗?好吧,将主文件从默认包中删除到指定的包中就可以了。谢谢:) 谢谢它的工作。我为什么要把它放在一个包里?【参考方案2】:

我已经通过使用 maven 运行我的应用程序解决了这个问题。例如:

mvn springboot:run

【讨论】:

【参考方案3】:

请添加相应的安全配置文件:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>5.0.0.RELEASE</version>
</dependency>
           

【讨论】:

虽然此代码 sn-p 可能是解决方案,但包含解释确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,那些人可能不知道您的代码建议的原因:meta.stackexchange.com/questions/114762/…【参考方案4】:

我遇到了类似的错误(代替类文件,我的是在资源文件夹中存在的属性文件)。

解决方案:我从 gradle 窗格窗口中分离了 gradle 项目并重新附加它。之后就成功了。

【讨论】:

【参考方案5】:

有时你可以在命令行中运行mvn clean install 或者通过intellij idea 来解决这个问题。

我认为这是因为这个 maven 项目的 target 方向的生成错误。

【讨论】:

【参考方案6】:

我刚才遇到了这个问题,原因是确定一个在jar文件中的类实现了一个接口,在我的本地包中(所以你可以知道我反编译了一些类)。但是,接口的包确实与类声明的不匹配。所以将接口移动到正确的包后,错误就错过了。

【讨论】:

【参考方案7】:

对于 gradle 项目,运行 gradle clean build 来修复问题。

【讨论】:

以上是关于Springboot :BeanDefinitionStoreException: 解析配置类失败的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot入门到精通-SpringBoot自动配置原理

SpringBoot入门到精通-SpringBoot启动流程

SpringBoot入门到精通-SpringBoot自定义starter

SpringBoot.06.SpringBoot日志管理

SpringBoot.06.SpringBoot日志管理

最全面的SpringBoot教程——SpringBoot概述