程序启动报错信息如下
Exception in thread "Thread-0" javax.xml.parsers.FactoryConfigurationError: Prov
ider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderF
actory.java:104)
at org.apache.commons.modeler.util.DomUtil.readXml(DomUtil.java:284)
at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.execute
(MbeansDescriptorsDOMSource.java:130)
at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.loadDes
criptors(MbeansDescriptorsDOMSource.java:120)
at org.apache.commons.modeler.Registry.load(Registry.java:819)
at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:931
)
at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:909
)
at org.apache.commons.modeler.Registry.findDescriptor(Registry.java:992) at org.apache.commons.modeler.Registry.findManagedBean(Registry.java:696
)
at org.apache.commons.modeler.Registry.findManagedBean(Registry.java:104
7)
at org.apache.commons.modeler.Registry.registerComponent(Registry.java:8
59)
at org.apache.catalina.loader.WebappLoader.init(WebappLoader.java:656)
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:688)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
167)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125) at org.apache.catalina.core.StandardHost.start(StandardHost.java:816)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:518
)
at org.apache.catalina.startup.Embedded.start(Embedded.java:1020)
at com.iss.itreasury.httpcom.services.BaseHttpService.start(BaseHttpServ
ice.java:96)
at com.iss.itreasury.httpcom.client.ClientService.run(ClientService.java
:47)
Exception in thread "Thread-0" javax.xml.parsers.FactoryConfigurationError: Prov
ider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderF
actory.java:104)
at org.apache.commons.modeler.util.DomUtil.readXml(DomUtil.java:284)
at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.execute
(MbeansDescriptorsDOMSource.java:130)
at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.loadDes
criptors(MbeansDescriptorsDOMSource.java:120)
at org.apache.commons.modeler.Registry.load(Registry.java:819)
at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:931
)
at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:909
)
at org.apache.commons.modeler.Registry.findDescriptor(Registry.java:992) at org.apache.commons.modeler.Registry.findManagedBean(Registry.java:696
)
at org.apache.commons.modeler.Registry.findManagedBean(Registry.java:104
7)
at org.apache.commons.modeler.Registry.registerComponent(Registry.java:8
59)
at org.apache.catalina.loader.WebappLoader.init(WebappLoader.java:656)
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:688)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
167)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125) at org.apache.catalina.core.StandardHost.start(StandardHost.java:816)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:518
)
at org.apache.catalina.startup.Embedded.start(Embedded.java:1020)
at com.iss.itreasury.httpcom.services.BaseHttpService.start(BaseHttpServ
ice.java:96)
at com.iss.itreasury.httpcom.client.ClientService.run(ClientService.java
:47)
解决方案 »
- 请教下GET和POST方法发送请求action里获取参数的区别
- java 中在addSeparator()添加完分割线之后,可以设置分割线的颜色么?默认是灰色的,想要设成黑色。
- JSP脚本的errorPage属性---怎么转跳到另一个JSP啊?
- 帖子字少图多比较详细,,只为求指教,涉及ajax等
- 关于logic:forward问题,请高手帮忙,在线等,急————————
- ?????请用过struts调用web服务的高手帮忙!!!!!
- 在Jbuilder2005中用JB带的tomcat5.0测试JSP页面时,中文显示是乱码?请问如何解决?
- 实在看不下去了,有些人真的应该看看基础
- 使用过SUN测试J2EE的ecperf的人进来说说,高分送!
- 请问,JAVA里,怎样可以改变已定义数组的大小(类似于C语言中函数realloc的功能)。
- s:treenode 标签 如何在label中添加链接【action】
- 探讨一下apache mina在具体应用中的架构策略-抛砖引玉
set JAVA_HOME=C:\Java\jdk1.5.0
set HTTPCOM_HOME=C:\HTTPCOM
set CLASSPATH=.;%JAVA_HOME%\jre\lib\rt.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\httpcom.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\ant.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\catalina-5.0.16.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\catalina-optional.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\catalina-root.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-beanutils.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-codec-1.3.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-collections.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-digester.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-el.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-httpclient-3.0.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-logging-1.0.4.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\commons-modeler.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\jakarta-regexp-1.3.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\jasper-compiler.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\jasper-runtime.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\jsp-api.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\log4j-1.2.8.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\mx4j-jmx.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\naming-common.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\naming-factory.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\naming-java.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\naming-resources.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\servlet-api.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\servlets-common.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\servlets-default.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\servlets-invoker.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\tomcat-coyote.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\tomcat-http11.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\tomcat-jk2.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\tomcat-util.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\tools.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\xalan-2.4.1.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\xerces.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\xercesImpl.jar
set CLASSPATH=%CLASSPATH%;%HTTPCOM_HOME%\lib\iTrusCertAPI-2.7.9_jdk15.jar%JAVA_HOME%\bin\java -classpath %CLASSPATH% -DHTTPCOM_CLIENT_HOME=%HTTPCOM_HOME% com.iss.itreasury.httpcom.client.ClientMain
最初的xml解析器是sun的Crimson和IBM的Xerces,这两个开源项目都捐给了apache组织,后来Xerces发展很快,Crimon基本没有人使用。
1.4 版本起,用于 XML 处理的 Java API 就已经加入了Java 2 平台中。 利用该 API,可通过一系列标准的 Java 平台 API 来处理 XML 文档。
因此,也就无需另外添加 XML 处理包了。sun的JDK1.4使用Crimson,IBM的JDK使用Xerces。
如果打算把sun 的jdk程序移植到IBM的JDK下,注意解析器不同,XML处理会出问题。这就说明了java不是“一次编译,到处运行”,而是“一次编译,到处调试”。
如果你把IBM的JDK移植到SUN的JDK下,即使把Xerces包引入CLASSPATH,JDK还是使用Crimson,不信你运行java -verbose试一试。
解决的办法就是在在JRE\lib\目录下,建立一个jaxp.properties的文件,
内容如下:
javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
就可以使用Xerces。
或者使用命令行
# Add the XML parser jars and set the JAXP factory names
# Crimson parser JAXP setup(default)
CLASSPATH=$CLASSPATH:../lib/crimson.jar
JAXP=-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl
JAXP="$JAXP -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl"
或
# Add the XML parser jars and set the JAXP factory names
# Xerces parser JAXP setup
CLASSPATH=$CLASSPATH:../lib/xerces.jar
JAXP=-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
JAXP="$JAXP -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl"
最终sun还是指定JAXP规范,JSR 206 Java API for XML Processing(JAXP) 1.3,他已经由JDK1.5实现。
JAXP实现了XPath,但是xalan的org.apache.xpath.XPathAPI 类已经移植到了 JRE 1.5 中,重构为com.sun.org.apache.xpath.internal.XPathAPI。
如果在以前的JDK中,使用含 XPathAPI 类的 jar,例如 xalan-2.4.1.jar。 将该 jar 加入到 CLASSPATH(类路径)。