Spring Framework:根元素类型“beans”的文档类型声明必须以'>'结尾

时间:2013-08-13 13:42:49

标签: java spring

这是我的spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans SYSTEM "http://www.springframework.org/dtd/spring-beans-2.0.dtd" PUBLIC "-//SPRING//DTD BEAN 2.0//EN">
<beans>
    <bean id="data" class="com.blah.tests.DataProviderClass" />
    <bean id="wdcm" class="com.blah.tests.WebDriverCustomMethods"/>
</beans>

当我运行应用程序测试时,这是我得到的错误:

    Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
 Line 2 in XML document from class path resource [spring.xml] is invalid; nested exception is org.xml.sax.SAXParseException;
 lineNumber: 2; columnNumber: 82; The document type declaration for root element type "beans" must end with '>'.

我正在使用Spring 3.0.7

3 个答案:

答案 0 :(得分:4)

试试这个......

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

     <bean id="data" class="com.blah.tests.DataProviderClass" />
     <bean id="wdcm" class="com.blah.tests.WebDriverCustomMethods"/>

</beans>

答案 1 :(得分:1)

<?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.0.xsd">

<!-- <bean/> definitions here -->

</beans>

答案 2 :(得分:0)

实际上DTD风格仍然完全支持: http://static.springsource.org/spring/docs/3.0.x/reference/xsd-config.html

  

DTD支持?

     

仍然完全支持使用旧的DTD样式编写Spring配置文件。

     

如果您放弃使用基于XML Schema的新方法来创作&gt; Spring XML配置文件,那么什么都不会破坏。您失去的一切就是有机会获得更多简洁明了的配置。无论XML配置是基于DTD还是基于模式,最终都归结为容器中的相同对象模型(即&gt;一个或多个BeanDefinition实例)。

根据您的问题,这可能是由网络造成的,您是否尝试直接在浏览器中打开http://www.springframework.org/dtd/spring-beans-2.0.dtd?(我认为当您直接在浏览器中打开http://www.springframework.org/dtd/spring-beans-2.0.dtd时会出现错误。)