这是我的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
答案 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时会出现错误。)