程序启动报错信息如下
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)

解决方案 »

  1.   

    我启动的文件及里面的jar包如下@echo off
    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
      

  2.   

    其中里面的httpcom.jar是我的主程序,之前是用1.4编译的。我现在改成1.5了,并且增加了两个jar包就是标题说的那两个,要对xml进行解析。可是我加进去之后报错,根据网上说的也添加了一些东西。可是还是不行。
    最初的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(类路径)。
      

  3.   

    上面是我在网上找的解决方法,可是不还是不行。我怀疑是我产品里面的lib包里面的jar包可能和我新添加的有冲突,求高人指点。非常感谢,只要有解决方案就给分。