java.io.FileNotFoundException:无法打开类路径资源[conf / admin / applicationContext.xml],因为它不存在

时间:2016-07-15 18:22:30

标签: spring spring-mvc spring-security

我正在使用Spring Security,但由于某种原因,我的web.xml找不到我的applicationContext.xml 的web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
            classpath:conf/admin/applicationContext.xml
            classpath:conf/admin/applicationContext-security.xml
    </param-value>
</context-param>

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

我的applicationContext.xml位于myProject / conf / admin / applicationContext.xml中,与我的web.xml位于同一位置,但它总是抛出异常:

    14:18:07,793 ERROR [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [conf/admin/applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [conf/admin/applicationContext.xml] cannot be opened because it does not exist

我已经尝试放入WEB-INF文件夹(就像每个Spring Security教程一样),它位于myProject / dist / web / WEB-INF中,但当我清理我的项目以进行刷新和重建时,它会被删除。< / p>

那么我做错了什么?将错误的路径放在contextConfigLocation或applicationContext.xml中的错误位置?

1 个答案:

答案 0 :(得分:1)

假设您正在关注Standard Maven Directory Structure,即您的XML配置文件位于src/main/webapp/WEB-INF/conf/admin下,请尝试以下操作:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/conf/admin/applicationContext.xml
        /WEB-INF/conf/admin/applicationContext-security.xml
    </param-value>
</context-param>

另一种方法是使用默认值:

  1. 只需将applicationContext.xml文件放在src/main/webapp/WEB-INF下,默认情况下它将被弹出。
  2. 然后,您可以在applicationContext.xml中添加此<import resource="applicationContext-security.xml" />行以导入安全配置。
  3. 使用默认配置方法检查此Repository