Caused by: javax.xml.parsers.FactoryConfigurationErro r: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryIm pl not found
at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.createDocumentBuilderFac tory(DefaultDocumentLoader.java:87)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:68)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:361)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.support.AbstractBeanDefinitionRe ader.loadBeanDefinitions(AbstractBeanDefinitionRe ader.java:131)
at org.springframework.beans.factory.support.AbstractBeanDefinitionRe ader.loadBeanDefinitions(AbstractBeanDefinitionRe ader.java:147)
at org.springframework.beans.factory.support.AbstractBeanDefinitionRe ader.loadBeanDefinitions(AbstractBeanDefinitionRe ader.java:173)
at org.springframework.context.support.AbstractXmlApplicationCo ntext.loadBeanDefinitions(AbstractXmlApplicationCo ntext.java:112)
at org.springframework.context.support.AbstractXmlApplicationCo ntext.loadBeanDefinitions(AbstractXmlApplicationCo ntext.java:79)
at org.springframework.context.support.AbstractRefreshableAppli cationContext.refreshBeanFactory(AbstractRefreshableAppli cationContext.java:101)
at org.springframework.context.support.AbstractApplicationConte xt.obtainFreshBeanFactory(AbstractApplicationConte xt.java:394)
at org.springframework.context.support.AbstractApplicationConte xt.refresh(AbstractApplicationConte xt.java:324)
at org.springframework.context.support.ClassPathXmlApplicationC ontext.<init>(ClassPathXmlApplicationC ontext.java:122)
at org.springframework.context.support.ClassPathXmlApplicationC ontext.<init>(ClassPathXmlApplicationC ontext.java:66)
at ws.cxf.client.SurveyServiceClient.main(SurveyServiceClient.java:22)
at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.createDocumentBuilderFac
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:68)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:361)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.support.AbstractBeanDefinitionRe
at org.springframework.beans.factory.support.AbstractBeanDefinitionRe
at org.springframework.beans.factory.support.AbstractBeanDefinitionRe
at org.springframework.context.support.AbstractXmlApplicationCo
at org.springframework.context.support.AbstractXmlApplicationCo
at org.springframework.context.support.AbstractRefreshableAppli
at org.springframework.context.support.AbstractApplicationConte
at org.springframework.context.support.AbstractApplicationConte
at org.springframework.context.support.ClassPathXmlApplicationC
at org.springframework.context.support.ClassPathXmlApplicationC
at ws.cxf.client.SurveyServiceClient.main(SurveyServiceClient.java:22)
解决方法设置两个属性(javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.SAXParserFactory)值如下:
System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
"com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryIm pl");
System.setProperty("javax.xml.parsers.SAXParserFactory",
"com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl");
再运行就没有错了.
最后发现原因是我使用MyEclipse创建项目时引用了J2EE 1.4 Library Container库(JAVA构建路径-->库)
使得sun.boot.class.path增加了myelipse下的jar文件,然后就把javax.xml.parsers.DocumentBuilderFactory变量的值设为org.apache.xerces.jaxp.DocumentBuilderFactoryIm pl
即还有第二种解决方法,就是去掉J2EE 1.4 Library Container库,编译,再运行就没有错了.
(JDK版本为1.5与6.0都测试通过).
请参考我的另外两篇转载的文章
DocumentBuilderFactory以及SAXParserFactory具体实现的查找步骤
http://lengweiping1983.javaeye.com/blog/248553
XML api折射出sun与IBM的恩仇
http://lengweiping1983.javaeye.com/blog/248560
System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
System.setProperty("javax.xml.parsers.SAXParserFactory",
再运行就没有错了.
最后发现原因是我使用MyEclipse创建项目时引用了J2EE 1.4 Library Container库(JAVA构建路径-->库)
使得sun.boot.class.path增加了myelipse下的jar文件,然后就把javax.xml.parsers.DocumentBuilderFactory变量的值设为org.apache.xerces.jaxp.DocumentBuilderFactoryIm
即还有第二种解决方法,就是去掉J2EE 1.4 Library Container库,编译,再运行就没有错了.
(JDK版本为1.5与6.0都测试通过).
请参考我的另外两篇转载的文章
DocumentBuilderFactory以及SAXParserFactory具体实现的查找步骤
http://lengweiping1983.javaeye.com/blog/248553
XML api折射出sun与IBM的恩仇
http://lengweiping1983.javaeye.com/blog/248560