Spring配置文件给出了BeanDefinitionStoreException

时间:2009-11-23 07:50:16

标签: xml spring-mvc

我正在尝试完成Spring MVC教程: http://static.springsource.org/docs/Spring-MVC-step-by-step/part1.html

我的问题类似于 Spring configuration error

然而,这些解决方案似乎都不相关。

我得到以下堆栈跟踪:

  

org.springframework.beans.factory.BeanDefinitionStoreException:来自ServletContext的资源[/WEB-INF/springapp-servlet.xml]的XML文档中的第6行无效;嵌套异常是org.xml.sax.SAXParseException:文档根元素“beans”,必须与DOCTYPE根“null”匹配。       org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:133)       org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:125)       org.springframework.context.support.AbstractXmlApplicationContext.refreshBeanFactory(AbstractXmlApplicationContext.java:65)       org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:226)       org.springframework.web.context.support.XmlWebApplicationContext.refresh(XmlWebApplicationContext.java:131)       org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:281)       org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:229)       org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:199)       org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:102)       javax.servlet.GenericServlet.init(GenericServlet.java:212)       org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)       org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)       org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:883)       org.apache.coyote.http11.Http11NioProtocol $ Http11ConnectionHandler.process(Http11NioProtocol.java:722)       org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:2214)       java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(未知来源)       java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)       java.lang.Thread.run(未知来源)

我将此作为springapp-servlet.xml文件。

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

  <!-- the application context definition for the springapp DispatcherServlet -->

  <bean name="/hello.htm" class="springapp.web.HelloController"/>

</beans>

3 个答案:

答案 0 :(得分:2)

您的类路径中可能有一些旧的spring jar文件。

另见forum post

答案 1 :(得分:0)

我遇到了同样的问题。 是的,这是由于类路径中的spring jar版本错误。

答案 2 :(得分:0)

问题在于与旧的spring相关的jar文件。因此,使用最新的jar文件更新jar文件,它将解决您的问题。