java.lang.IllegalStateException:ApplicationEventMulticaster未初始化 - 在通过上下文组播事件之前调用'refresh'

Lak*_*hmi 7 spring spring-boot

我正在尝试创建一个Spring Boot项目.

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">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.java</groupId>
  <artifactId>spring-boot-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Java Spring Boot Example</name>
  <parent>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-parent</artifactId>  
    <version>1.4.2.RELEASE</version>  
</parent>    
<dependencies>  
    <dependency>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-web</artifactId>  
    </dependency> 

    </dependencies>  
<properties>  
    <java.version>1.8</java.version>  
</properties>  
</project>
Run Code Online (Sandbox Code Playgroud)

SpringBootExample.java:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication 
public class SpringBootExample {

    public static void main(String[] args) {
         SpringApplication.run(SpringBootExample.class, args);  
    }
}
Run Code Online (Sandbox Code Playgroud)

当尝试将上述类作为Java应用程序执行时,我收到错误:

2017-06-21 17:07:14.125 ERROR 7860 --- [main] osbfsDefaultListableBeanFactory:名为'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory'的bean上的Destroy方法引发异常

java.lang.IllegalStateException:ApplicationEventMulticaster未初始化 - 在通过上下文组播事件之前调用'refresh':org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@63f509:启动日期[Wed Jun 21 17:07:06 EDT 2017]; org.springframework.context.support上的org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:404)[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]中的上下文层次结构的根org.springframework.beans.factory.support.DisposableBeanAdapter.destroy中的.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE](DisposableBeanAdapter.java: 253)〜[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)[spring-beans-4.3. 4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)[spring-beans-4.3.4.RELEASE.jar:4.3.4.发布在org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListable)BeanFactory.java:954)[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)[spring-beans] -4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:961)[spring-beans-4.3.4.RELEASE.jar:4.3 .4.RELEASE]在org.springframework.context的org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1033)[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]. support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:555)[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java: 122)[org.springframework.boot.SpringApplication.refresh中的[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE](SpringApplication.java:761)[s pring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)[spring-boot-1.4.2.RELEASE.jar:1.4. 2.RELEASE] org.springframework.boot.SpringApplication.run(SpringApplication.java:315)[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] org.springframework.boot.SpringApplication.run (SpringApplication.java:1186)[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1175)[spring-boot-1.4. 2.RELEASE.jar:1.4.2.RELEASE]在SpringBootExample.main(SpringBootExample.java:12)[classes /:na]

2017-06-21 17:07:14.130 ERROR 7860 --- [main] osboot.SpringApplication:应用程序启动失败

org.springframework.beans.factory.BeanDefinitionStoreException:无法解析配置类[SpringBootExample]; 嵌套异常是org.springframework.context.annotation.ConflictingBeanDefinitionException:bean类的注释指定bean名称'errorPageFilter'[org.springframework.boot.web.support.ErrorPageFilter]与同名的现有的,不兼容的bean定义冲突org.springframework.context.annotation.ConfigurationClassParser.parse中的类[org.springframework.boot.context.web.ErrorPageFilter](ConfigurationClassParser.java:180)〜[spring-context-4.3.4.RELEASE.jar:4.3.4 .RELEASE]在org.springframework.context.antext上的org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:324)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegist中的.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:246)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)〜[spring]的ryPostProcessors(PostProcessorRegistrationDelegate.java:270)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] -context-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)〜[spring-context-4.3.4.RELEASE.jar: 4.3.4.RELEASE]在org.springframework的org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]. org.springframework.boot.SpringApplication.refresh(SpringApplication.java)中的boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)〜[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] :761)[org.springframework.boot.SpringApplication.r上的[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] efreshContext(SpringApplication.java:371)[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] org.springframework.boot.SpringApplication.run(SpringApplication.java:315)[spring-boot-1.4 .2.RELEASE.jar:1.4.2.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1186)[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175)[Spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]在SpringBootExample.main(SpringBootExample.java:12)[classes /: na]引起:org.springframework.context.annotation.ConflictingBeanDefinitionException:bean类[org.springframework.boot.web.support.ErrorPageFilter]的注释指定bean名称'errorPageFilter'与现有的,不兼容的bean定义相同org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:320)〜[s中的名称和类[org.springframework.boot.context.web.ErrorPageFilter] pring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:259)〜[spring-context-4.3.4.RELEASE.jar :org.springframework上的org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:137)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]的4.3.4.RELEASE] .context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:268)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser. java:230)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:197)~ [spring-context-4.3 .4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:166)〜[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] ...省略了13个常用帧

小智 5

尝试添加这个:

        <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
           <!--<scope>provided</scope>-->
        </dependency>
Run Code Online (Sandbox Code Playgroud)

或者,如果您已经对此进行了评论(在这种情况下,我使用的是 intellij 调试按钮配置)准确地说是这个项目(GitHub petClinicSpringBoot

<!--<scope>provided</scope>-->
Run Code Online (Sandbox Code Playgroud)