Spring JDO配置解析错误

时间:2013-01-25 02:43:58

标签: spring validation config jdo

我有一个弹簧测试用例,注释如下

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:conf/allocadia-base.xml", "classpath:META-INF/jdoconfig.xml"})

我的jdoconfig是

<?xml version="1.0" encoding="utf-8"?>
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">

当我运行测试时,我得到了

java.lang.IllegalStateException: Failed to load ApplicationContext 
.  
. 
.  
Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 4 in XML document from class path resource [META-INF/jdoconfig.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'jdoconfig'.

如果我将jdoconfig改为

<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_2_3.xsd">

错误是

  

引起:   org.springframework.beans.factory.parsing.BeanDefinitionParsingException:   配置问题:无法找到Spring NamespaceHandler   XML模式命名空间[http://java.sun.com/xml/ns/jdo/jdoconfig]   违规资源:类路径资源[META-INF / jdoconfig.xml]

我使用最新的spring 3.2和JDO 2.3-e

当我将它部署到tomcat时,应用程序正常工作我在尝试运行测试时遇到此错误

1 个答案:

答案 0 :(得分:11)

您的jdoconfig.xml包含不正确的网址。试试这个:

xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd"

Validating jdoconfig with incorrect url

How to solve validation error on xsi:noNamespaceSchemaLocation in jdoconfig.xml