我正在使用OC4J 10.1.3.5.0,並且遇到WAR/EAR中提供的Spring XML文件中的XML名稱空間問題。OC4J 10.1.3.5/Spring3問題
根據Oracle文檔,在解析OC4J中的Spring 3 XSD文件時存在一個已知問題,因爲它嵌入了Oracle XMLParserV2 jar並將其用於所有XML解析(它在Spring中使用了一些XSD技巧3顯然)。
我已經聽取了Oracle解決方法,在OC4J實例上定義了我自己的XML解析器共享庫,以及(在orion-application.xml中)定義了要使用的共享庫。我用xercesImpl(v 2.9.1),xml-apis(v 1.3.04)和xml-resolver(v 1.2)創建了一個共享庫'apache.xml'。我試着定義EAR以使用新的庫
<imported-shared-libraries>
<imported-shared-library name="apache.xml"/>
</imported-shared-libraries>
我收到以下錯誤
14:50:31 ERROR (UserId:) [DispatcherServlet] Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
Line 10 in XML document from ServletContext resource [/WEB-INF/spring/webflow-config.xml] is invalid;
nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c:
The matching wildcard is strict, but no declaration can be found for element 'webflow:flow-executor'.
的一個Webflow-config.xml文件中被定義爲正常:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:webflow="http://www.springframework.org/schema/webflow-config"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/webflow-config
http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">
<!-- Executes web flows -->
<webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry" />
<!-- Rest of the file ... -->
</beans>
有誰有什麼想法?
[編輯] 的片段:
<imported-shared-libraries>
<imported-shared-library name="apache.xml"/>
</imported-shared-libraries>
當然應該閱讀:
<imported-shared-libraries>
<import-shared-library name="apache.xml"/>
</imported-shared-libraries>
對不起!
您是否將spring-webflow jar添加到項目的類路徑中? – Javi 2011-02-24 21:59:18
是的。在這個階段,我有大部分的Spring JAR文件在WAR的類路徑中。因此,JAR會嵌入到WAR中,而WAR本身也嵌入到EAR中。 (對不起,延遲迴答,我不太好)。 – GKelly 2011-03-07 08:13:13