解决Maven项目启动Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

拆解之前的maven项目单独调试的时候出现下面的错误:
Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

  org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
......
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
...... 

applicationContext.xml文件存放在src/main/resouorces下
解决Maven项目启动Could not open ServletContext resource [/WEB-INF/applicationContext.xml]_第1张图片

然而问题不出在这

web.xml

解决Maven项目启动Could not open ServletContext resource [/WEB-INF/applicationContext.xml]_第2张图片

Spring官方文档中规定,如果在上下文中没有指定contextConfigLoction配置文件的位置,则会默认去WEB-INF中去寻找对应的配置文件。
理论上classpath的默认路径是WEB-INF/classes
所以解决办法就是在context-param中重新定义一遍。
在web.xml中添加下面代码(最好放在相对靠前的位置)

    param>
        <param-name>contextConfigLocationparam-name>
        <param-value>classpath:applicationContext.xmlparam-value>
    param>

你可能感兴趣的:(Spring,java异常)