2016-01-21 17 views
5

Sto usando java1.6, jboss5.1 e Spring Maven 3.2.5 nei miei project.I che ottienejava.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl non può essere lanciato a javax.xml.parsers.DocumentBuilderFactory

Questo è il mio pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.varun.batch</groupId> 
    <artifactId>myproject</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>myproject Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
     <!-- Spring ORM support --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 

     <!-- Spring Batch --> 
     <dependency> 
      <groupId>org.springframework.batch</groupId> 
      <artifactId>spring-batch-core</artifactId> 
      <version>3.0.1.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.batch</groupId> 
      <artifactId>spring-batch-infrastructure</artifactId> 
      <version>3.0.1.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2</artifactId> 
      <version>1.6.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.xmlbeans</groupId> 
      <artifactId>xmlbeans</artifactId> 
      <version>2.5.0</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-transport-local</artifactId> 
      <version>1.6.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-transport-http</artifactId> 
      <version>1.6.1</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.9</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.0-api</artifactId> 
      <version>1.0.0.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>3.1.0.CR2</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>3.3.1.ga</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>commons-logging</artifactId> 
        <groupId>commons-logging</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.3.0.CR2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-ehcache</artifactId> 
      <version>3.3.0.CR2</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>jboss-logging</artifactId> 
        <groupId>org.jboss.logging</groupId> 
       </exclusion> 
       <exclusion> 
        <artifactId>commons-logging</artifactId> 
        <groupId>commons-logging</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 


     <dependency> 
      <groupId>c3p0</groupId> 
      <artifactId>c3p0</artifactId> 
      <version>0.9.1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>antlr</groupId> 
      <artifactId>antlr</artifactId> 
      <version>2.7.7</version> 
     </dependency> 
     <dependency> 
      <groupId>aopalliance</groupId> 
      <artifactId>aopalliance</artifactId> 
      <version>1.0</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.0.1</version> 
     </dependency> 
     <dependency> 
      <groupId>stax</groupId> 
      <artifactId>stax-api</artifactId> 
      <version>1.0.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-kernel</artifactId> 
      <version>1.6.1</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>servlet-api</artifactId> 
        <groupId>javax.servlet</groupId> 
       </exclusion> 

      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.ws.commons.axiom</groupId> 
      <artifactId>axiom-api</artifactId> 
      <version>1.2.12</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>commons-logging</artifactId> 
        <groupId>commons-logging</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.geronimo.specs</groupId> 
      <artifactId>geronimo-activation_1.1_spec</artifactId> 
      <version>1.0.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.geronimo.specs</groupId> 
      <artifactId>geronimo-javamail_1.4_spec</artifactId> 
      <version>1.6</version> 
     </dependency> 


     <dependency> 
      <groupId>jaxen</groupId> 
      <artifactId>jaxen</artifactId> 
      <version>1.1.1</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>xercesImpl</artifactId> 
        <groupId>xerces</groupId> 

       </exclusion> 
       <exclusion> 
        <artifactId>xml-apis</artifactId> 
        <groupId>xml-apis</groupId> 

       </exclusion> 
       <exclusion> 
        <artifactId>xmlParserAPIs</artifactId> 
        <groupId>xerces</groupId> 

       </exclusion> 
      </exclusions> 
     </dependency> 


     <dependency> 
      <groupId>org.apache.geronimo.specs</groupId> 
      <artifactId>geronimo-stax-api_1.0_spec</artifactId> 
      <version>1.0.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.geronimo.specs</groupId> 
      <artifactId>geronimo-ws-metadata_2.0_spec</artifactId> 
      <version>1.1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.ws.commons.axiom</groupId> 
      <artifactId>axiom-impl</artifactId> 
      <version>1.2.12</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>commons-logging</artifactId> 
        <groupId>commons-logging</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.codehaus.woodstox</groupId> 
      <artifactId>wstx-asl</artifactId> 
      <version>3.2.9</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.geronimo.specs</groupId> 
      <artifactId>geronimo-jta_1.1_spec</artifactId> 
      <version>1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-httpclient</groupId> 
      <artifactId>commons-httpclient</artifactId> 
      <version>3.1</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>commons-logging</artifactId> 
        <groupId>commons-logging</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>wsdl4j</groupId> 
      <artifactId>wsdl4j</artifactId> 
      <version>1.6.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.ws.commons.schema</groupId> 
      <artifactId>XmlSchema</artifactId> 
      <version>1.4.7</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpcore</artifactId> 
      <version>4.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.javaetmoi.core</groupId> 
      <artifactId>javaetmoi-spring4-vfs2-support</artifactId> 
      <version>1.4.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>3.2.13.RELEASE</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>commons-logging</artifactId> 
        <groupId>commons-logging</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aop</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-expression</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.retry</groupId> 
      <artifactId>spring-retry</artifactId> 
      <version>1.0.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.persistence</groupId> 
      <artifactId>persistence-api</artifactId> 
      <version>1.0</version> 
     </dependency> 

     <dependency> 
      <groupId>com.oracle</groupId> 
      <artifactId>ojdbc5</artifactId> 
      <version>11.2.0.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.7.11</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-simple</artifactId> 
      <version>1.6.4</version> 
     </dependency> 

     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.1.3</version> 
     </dependency> 
     <dependency> 
      <groupId>logkit</groupId> 
      <artifactId>logkit</artifactId> 
      <version>1.0.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-api</artifactId> 
      <version>2.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>log4j-over-slf4j</artifactId> 
      <version>1.7.11</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>com.thoughtworks.xstream</groupId> 
      <artifactId>xstream</artifactId> 
      <version>1.4.7</version> 
     </dependency> 
     <dependency> 
      <groupId>org.javassist</groupId> 
      <artifactId>javassist</artifactId> 
      <version>3.18.1-GA</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.batch</groupId> 
      <artifactId>javax.batch-api</artifactId> 
      <version>1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-beans</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>3.2.13.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>aopalliance</groupId> 
      <artifactId>aopalliance</artifactId> 
      <version>1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>jsr311-api</artifactId> 
      <version>1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.logging</groupId> 
      <artifactId>jboss-logging</artifactId> 
      <version>3.3.0.Final</version> 
     </dependency> 
    </dependencies> 


    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.axis2</groupId> 
       <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
       <version>1.6.2</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>wsdl2code</goal> 
         </goals> 
         <configuration> 
          <unpackClasses>true</unpackClasses> 
          <packageName>com.globalss.data.processor.service</packageName> 
          <wsdlFile>src/main/resources/wsdl/MonitoringService.wsdl</wsdlFile> 
          <databindingName>xmlbeans</databindingName> 
          <syncMode>sync</syncMode> 
          <generateServerSide>true</generateServerSide> 
          <generateServicesXml>true</generateServicesXml> 
          <generateServerSideInterface>true</generateServerSideInterface> 

         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${project.build.directory}</outputDirectory> 
          <overWriteReleases>false</overWriteReleases> 
          <overWriteSnapshots>true</overWriteSnapshots> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
     <resources> 
      <resource> 
       <directory>target/generated-sources/axis2/wsdl2code/resources</directory> 
      </resource> 
      <resource> 
       <directory>target/generated-sources/xmlbeans/resources</directory> 
      </resource> 
      <resource> 
       <directory>src/main/resources</directory> 
      </resource> 
      <resource> 
       <directory>src/main/java/com/globalss/dnb/monitor/model/</directory> 
       <targetPath>com/globalss/dnb/monitor/model/</targetPath> 
       <includes> 
        <include>*.hbm.xml</include> 
       </includes> 
      </resource> 
     </resources> 

    </build> 
</project> 

ho provato diverse soluzioni, ma non poteva risolverlo.

1 ° metodo) In jboss-5.1.0.GA \ cartella approvato lib \ ho questo vaso (xercesImpl). così ho rimosso quel barattolo ed eseguito il progetto.

ora ho questa eccezione

xception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-batch-context.xml]; nested exception is javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found

metodo 2 °) ho provato commentato la dipendenza dal muggito pom.xml

<dependency> 
    <groupId>jaxen</groupId> 
    <artifactId>jaxen</artifactId> 
    <version>1.1.1</version> 
    <exclusions> 
     <exclusion> 
      <artifactId>xercesImpl</artifactId> 
      <groupId>xerces</groupId> 
     </exclusion> 
     <exclusion> 
      <artifactId>xml-apis</artifactId> 
      <groupId>xml-apis</groupId> 
     </exclusion> 
     <exclusion> 
      <artifactId>xmlParserAPIs</artifactId> 
      <groupId>xerces</groupId> 
     </exclusion> 
    </exclusions> 
</dependency> 

ma ho la stessa eccezione

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-batch-context.xml]; nested exception is java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:413)

3 °) Metodo ho visto alcuni soluzione per quanto riguarda lo stesso problema e la soluzione, dice di aggiungere la dipendenza soffietto

<dependency> 
    <groupId>xerces</groupId> 
    <artifactId>xercesImpl</artifactId> 
    <version>2.11.0</version> 
</dependency> 

Dopo l'aggiunta della dipendenza sopra nella mia pom.xml ottengo questa eccezione

org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser at org.jboss.xb.binding.UnmarshallerFactory$UnmarshallerFactoryImpl.newUnmarshaller(UnmarshallerFactory.java:100) at org.jboss.web.tomcat.service.deployers.JBossContextConfig.processContextConfig(JBossContextConfig.java:549) at org.jboss.web.tomcat.service.deployers.JBossContextConfig.init(JBossContextConfig.java:536) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.StandardContext.init(StandardContext.java:5436) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4148)

metodo 4a) ho provato a cancellare questa giara anche enter image description here

Questo lavoro anche per me.

Sono maledettamente frustrato con questa eccezione, ma non sono in grado di risolvere questo problema,

Questo link è veramente buono e affrontare lo stesso problema, ma ancora non sono in grado di risolvere questo problema può uno qualsiasi aiuto io questo. Dealing with "Xerces hell" in Java/Maven?

cura

ho scoperto la causa principale. Questa è un'istantanea da Jboss 5.1 Run-time

enter image description here

Questa è l'istantanea da Maven dependency enter image description here

Quindi questo due vasi sono in conflitto.

Quindi quello che ho fatto. Dopo aver creato il progetto, ho rimosso lo Myproject.war da Myproject.war e ho distribuito manualmente il progetto in Jboos e jboss non generava errori.

Ma quando non rimuovo lo (xml-api1.0.b2.jar) da myproject.war e distribuito in jboss, si genera lo stesso errore.

Quindi devo rimuovere la dipendenza da pom.xml.

per (xml-api1.0.b2.jar) ho definito la dipendenza soffietto

<dependency> 
 
    <groupId>jaxen</groupId> 
 
    <artifactId>jaxen</artifactId> 
 
    <version>1.1.1</version> 
 
    <exclusions> 
 
     <exclusion> 
 
      <artifactId>xercesImpl</artifactId> 
 
      <groupId>xerces</groupId> 
 
     </exclusion> 
 
     <exclusion> 
 
      <artifactId>xml-apis</artifactId> 
 
      <groupId>xml-apis</groupId> 
 
     </exclusion> 
 
     <exclusion> 
 
      <artifactId>xmlParserAPIs</artifactId> 
 
      <groupId>xerces</groupId> 
 
     </exclusion> 
 
    </exclusions> 
 
</dependency>

Ma quando io commento questa dipendenza dal mio pom.xml Ancora ottengo il vaso in Maven dipendenza come ho mostrato nell'immagine .

Non riesco davvero a capire da dove arriva questo (xml-api1.0.b2.jar). qualcuno può lasciarmi guardando il mio pom.xml.

+0

Sembra essere un bug con questa particolare versione di JBoss, vedere: https://issues.jboss.org/browse/JBAS-7210 – Berger

risposta

0

xml-api1.0.b2.jar è importato da: poi-3.9. poi-3.9 dipende da dom4j, e dom4j include xml-api1.0.b2 Quindi, è possibile aggiornare poi a 3.16, risolverà questo problema.

+0

Sto affrontando lo stesso problema. L'hai riparato? –

+0

Basta usare questo Deps: ' \t \t \t org.apache.poi \t \t \t POI-OOXML \t \t \t 3,16 \t \t \t \t \t \t \t \t \t \t \t \t stax \t \t \t \t \t Stax-api \t \t \t \t \t \t \t \t \t ' – Geker

Problemi correlati