BeanDefinitionParsingException:无法找到 XML 架构名称空间 [http://java.sun.com/xml/ns/javaee] 的 Spring NamespaceHandler

BeanDefinitionParsingException: Unable to locate Spring NamespaceHandler for XML schema namespace [http://java.sun.com/xml/ns/javaee]

我已经检查了 Whosebug 上与此异常相关的所有可用问题,但似乎没有一个与我的问题完全相同。

我遇到以下异常

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://java.sun.com/xml/ns/javaee]

而我的web.xml如下

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
web.xml

    <context-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/*.xml</param-value> 
    </context-param>

*.xml 包括 WEB-INF 文件夹中的所有文件,包括 web.xml.

如果您只有一个 context.xml,您可以使用:

  <param-value>/WEB-INF/myContext.xml</param-value> 

如果您有多个 spring 配置,您可以使用 springContext*.xml 匹配所有以 "springContext"

开头的上下文文件
  <param-value>/WEB-INF/springContext*.xml</param-value> 

如果您的 context.xml 中没有架构,您可以在 WEB-INF 中创建一个文件夹并将其命名为 spring。

  <param-value>/WEB-INF/spring/*.xml</param-value>