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);即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容