我无法解决这个问题。浏览了很多论坛。请帮忙:
org.springframework.beans.factory.BeanDefinitionStoreException: 从ServletContext资源解析XML文档时出现意外异常 [/WEB-INF/applicationContext.xml的];嵌套异常是 javax.xml.parsers.FactoryConfigurationError:Provider的提供者 找不到javax.xml.parsers.DocumentBuilderFactory。
我已将所有jar文件包含在xerces bin中。 以下是我的WEB-INF / lib结构:
答案 0 :(得分:11)
当我将spring和jpa / hibernate从3升级到4时,我们也有这个问题。对我们来说,这是因为hibernate-entitymanager 4.3.11依赖于jdom,它依赖于xml-apis,它会与JRE冲突rt.jar的javax.xml东西。我们将其排除,以便可以正确解析我们的spring xml配置。 要解决这个问题,我们可以从依赖树中排除xml-apis。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:3)
我在使用WebSphere Portal 8时遇到了这个问题。我最近使用xalan 2.7.0来访问和解析XML。
?
删除xml-apis后(就像Leon Li一样)它工作正常。
答案 2 :(得分:0)
我能够找到解决方案(浏览一些论坛):
转到您的JRE所在的位置。 例如,因为我使用的是Websphere Portal JRE,所以我去了这个位置:C:\ Program Files \ IBM5 \ WebSphere \ AppServer \ java \ jre \ lib
打开jaxb.properties文件并修改属性 javax.xml.parsers.DocumentBuilderFactory 以适应您的xml解析器。在我的情况下它是: javax.xml.parsers.DocumentBuilderFactory中= org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
我被提升到下一个问题:)。我现在得到一个ClassCastException。以下是日志:
从ServletContext资源[/WEB-INF/applicationContext.xml]解析XML文档时出现意外异常;嵌套异常是java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
欢迎所有帮助。谢谢
答案 3 :(得分:0)
我可以通过设置类加载器加载xerces jar文件(WAR-&gt; EAR-&gt; Server)的顺序来完全解决上述问题。以下链接取自Apache的Xerces站点。它有助于解决Websphere Portal / WAS的上述问题:
http://www.ibm.com/developerworks/websphere/library/techarticles/0310_searle/searle.html