Cannot initialize context because there is already a root application context present2020-02-20

一、问题

Cannot initialize context because there is already a root application context present - check whether you have multiple ContextLoader* definitions in your web.xml!

二、问题描述

在自定义spring-boot的启动监听器时报错,意思是说有多个内容加载监听器,导致项目无法启动。

三、问题解决

原错误代码:

/**
 * 项目启动监听器
 */
@Component
public class StartListener extends ContextLoaderListener implements ApplicationRunner {

    @Override
    public void contextInitialized(ServletContextEvent event) {
        super.contextInitialized(event);
    }

    @Override
    public void run(ApplicationArguments args) {

    }
}

原因就是在重载contextInitialized()方法时,调用了父类的初始化方法;去掉 super.contextInitialized(event);即可。

你可能感兴趣的:(Cannot initialize context because there is already a root application context present2020-02-20)