3

私は次のように注釈を付けた春のテストケースを持っています

@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:構成の問題:XMLスキーマ名前空間のSpring NamespaceHandlerが見つかりません[http://java.sun.com/xml/ns/jdo/jdoconfig]問題のあるリソース:クラスパスリソース[META-INF/jdoconfig.xml]

最新のSpring3.2とJDO2.3-eを使用しています

アプリケーションをTomcatにデプロイすると、アプリケーションは正常に動作します。テストを実行しようとすると、このエラーが発生します。

4

1 に答える 1

11

jdoconfig.xmlのURLが正しくありません。これを試して:

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

間違ったURLでjdoconfigを検証しています

jdoconfig.xmlのxsi:noNamespaceSchemaLocationの検証エラーを解決する方法

于 2013-02-01T18:03:39.880 に答える