org.xml.sax.SAXException: Can't create default XMLReader

最近在做一个OSGI的扩展插件,在集成Hibernate的时候,运行在equinox中没问题,但是运行在felix 2.0.1中的时候,出现了如下错误:

org.xml.sax.SAXException: Can't create default XMLReader; is system property org.xml.sax.driver set?
	at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
	at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
	at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
	at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
	at org.dom4j.io.SAXReader.read(SAXReader.java:435)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1366)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1325)
	at com.bing.hibernate.service.impl.SessionComponent.initSessionFactory(SessionComponent.java:166)
	at com.bing.hibernate.service.impl.SessionComponent.registryChanged(SessionComponent.java:156)
	at com.bing.register.impl.RegisterImpl.notifyListeners(RegisterImpl.java:67)
	at com.bing.register.impl.RegisterImpl.fireAddExtension(RegisterImpl.java:57)
	at com.bing.register.impl.ExtensionPointImpl.addExtention(ExtensionPointImpl.java:90)
	at com.bing.register.impl.RegisterImpl.findExtenpoint(RegisterImpl.java:168)
	at com.bing.register.impl.RegisterImpl.registerExtensions(RegisterImpl.java:114)
	at com.bing.privacy.util.XMLParser.process(XMLParser.java:80)
	at com.bing.privacy.util.XMLParser.getXMLMapformat(XMLParser.java:42)
	at com.bing.register.impl.RegisterImpl.addExtensionStuff(RegisterImpl.java:148)
	at com.bing.listener.GlobalListener.bundleChanged(GlobalListener.java:30)
	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)
	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728)
	at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:956)
	at org.apache.felix.framework.util.EventDispatcher.access$4(EventDispatcher.java:914)
	at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
	at java.lang.Thread.run(Unknown Source)
Warning: Caught exception attempting to use SAX to load a SAX XMLReader 
Warning: Exception was: org.xml.sax.SAXException: Can't create default XMLReader; is system property org.xml.sax.driver set?
Warning: I will print the stack trace then carry on using the default SAX parser
【Session管理器】(2012-05-15 14:52:52):初始化Hibernate SessionFactory时出现错误
org.hibernate.HibernateException: Could not parse configuration: bundle://10.0:1/hibernate.cfg.xml
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1376)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1325)
	at com.bing.hibernate.service.impl.SessionComponent.initSessionFactory(SessionComponent.java:166)
	at com.bing.hibernate.service.impl.SessionComponent.registryChanged(SessionComponent.java:156)
	at com.bing.register.impl.RegisterImpl.notifyListeners(RegisterImpl.java:67)
	at com.bing.register.impl.RegisterImpl.fireAddExtension(RegisterImpl.java:57)
	at com.bing.register.impl.ExtensionPointImpl.addExtention(ExtensionPointImpl.java:90)
	at com.bing.register.impl.RegisterImpl.findExtenpoint(RegisterImpl.java:168)
	at com.bing.register.impl.RegisterImpl.registerExtensions(RegisterImpl.java:114)
	at com.bing.privacy.util.XMLParser.process(XMLParser.java:80)
	at com.bing.privacy.util.XMLParser.getXMLMapformat(XMLParser.java:42)
	at com.bing.register.impl.RegisterImpl.addExtensionStuff(RegisterImpl.java:148)
	at com.bing.listener.GlobalListener.bundleChanged(GlobalListener.java:30)
	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)
	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728)
	at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:956)
	at org.apache.felix.framework.util.EventDispatcher.access$4(EventDispatcher.java:914)
	at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.dom4j.DocumentException: Can't create default XMLReader; is system property org.xml.sax.driver set? Nested exception: Can't create default XMLReader; is system property org.xml.sax.driver set?
	at org.dom4j.io.SAXReader.read(SAXReader.java:484)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1366)
	... 18 more

java.lang.RuntimeException: 初始化Hibernate SessionFactory错误:org.hibernate.HibernateException: Could not parse configuration: bundle://10.0:1/hibernate.cfg.xml
	at com.bing.hibernate.service.impl.SessionComponent.initSessionFactory(SessionComponent.java:188)
	at com.bing.hibernate.service.impl.SessionComponent.registryChanged(SessionComponent.java:156)
	at com.bing.register.impl.RegisterImpl.notifyListeners(RegisterImpl.java:67)
	at com.bing.register.impl.RegisterImpl.fireAddExtension(RegisterImpl.java:57)
	at com.bing.register.impl.ExtensionPointImpl.addExtention(ExtensionPointImpl.java:90)
	at com.bing.register.impl.RegisterImpl.findExtenpoint(RegisterImpl.java:168)
	at com.bing.register.impl.RegisterImpl.registerExtensions(RegisterImpl.java:114)
	at com.bing.privacy.util.XMLParser.process(XMLParser.java:80)
	at com.bing.privacy.util.XMLParser.getXMLMapformat(XMLParser.java:42)
	at com.bing.register.impl.RegisterImpl.addExtensionStuff(RegisterImpl.java:148)
	at com.bing.listener.GlobalListener.bundleChanged(GlobalListener.java:30)
	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)
	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728)
	at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:956)
	at org.apache.felix.framework.util.EventDispatcher.access$4(EventDispatcher.java:914)
	at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
	at java.lang.Thread.run(Unknown Source)

翻看了所有的文档,寻找解决方案。最后找到了原因如下:


java 系统之中使用的是JDom,Xerces解析器解析XML。在1.4之前,属于java的扩展部分,而在1.5之后,已经加入到了JDK之中了。我的系统之中的java版本是1.6,所以,包含了类路径之中加入的XercesImpl.jar  XML-api.jar,所以,在项目类路径之中加入那两个包以后,会造成冲突,就出现了上述的错误。将其从项目类路径之中删除后,工作正常。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值