我有一个我想在applicationContext.xml中使用的个人命名空间。 我正在使用Spring3。
所以,在我的appliationContext中,在beans标签中我有:
$.when(xhr1, xhr2, xhr3).then(function(resp1, resp2, resp3) {
// All 3 XHRs finished
});
这里重要的一行是
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:profile="http://icfi.com/springbeans/profile"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://icfi.com/springbeans/profile http://icfi.com/springbeans/profile/profile.xsd">
我说我想使用profile.xsd。显然,这个文件不在线,但我的META-INF文件夹中有一个spring.schemas文件:
http://icfi.com/springbeans/profile http://icfi.com/springbeans/profile/profile.xsd
在里面。
我的本地profile.xsd文件位于src / main / resources中。
我的问题是,在eclipse中,它说无法找到xsd。我告诉他我文件的绝对路径:
http\://icfi.com/springbeans/profile/profile.xsd=profile.xsd
问题是一样的 然后我只给他“profile.xsd”,整行成为:
file:///c:/[...]/project/src/main/resources/profile.xsd
这里的Eclipse可以读取它!欢呼?不是因为: 它没有读取我的spring.schema,因为我必须提供我的文件的真实(相对)路径,更重要的是,当我启动我的应用程序时,在每种情况下(使用spring.schema中的url,完整路径)或相对路径)我总是:
http://icfi.com/springbeans/profile profile.xsd
我认为我的profile.xsd很好,因为我可以让eclipse读取它,但以防万一,这是我的文件:
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'profile.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[xercesImpl-2.9.1.jar:?]
我真的无法弄清楚原因:
请帮我找一个解决方案吗?
最好的问候
答案 0 :(得分:0)
我找到了解决方案。我将namespaceHadler和解析器导出到外部jar,它工作正常。 对于绑定,我已经在线上传了xsd。
现在它可以正常工作:)