2016-01-21 22 views
5

Używam java1.6, jboss5.1 i Spring maven 3.2.5 w moich project.I Dostajęjava.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl nie mogą być oddane do javax.xml.parsers.DocumentBuilderFactory

to mój 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> 

próbowałem wielu rozwiązań, ale nie mógł go rozwiązać.

1-te metoda) W jboss-5.1.0.GA \ lib \ katalogu potwierdzonego mam ten słoik (xercesImpl). , więc usunąłem ten słoik i uruchomiłem projekt.

Teraz otrzymuję ten wyjątek

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

metoda 2nd) Próbowałem skomentował miech zależności od 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> 

ale pojawia się ten sam wyjątek

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)

3rd) Metoda Widziałem jakieś rozwiązanie dotyczące tego samego problemu i rozwiązanie mówi dodać mieszek zależnościami

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

Po dodaniu powyższą zależność w moim pom.xml otrzymuję ten wyjątek

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)

metoda 4.) próbowałem usunięcie tego słoika także enter image description here

To również działa dla mnie.

Jestem cholernie denerwować z tym wyjątkiem, ale nie jestem w stanie rozwiązać ten problem,

Ten link jest naprawdę dobre i to rozwiązać ten sam problem, ale nadal nie jestem w stanie rozwiązać ten może ktoś pomóc mi to. Dealing with "Xerces hell" in Java/Maven?

Edited

I odkryli przyczynę. To migawka z Jboss 5.1 Run-time

enter image description here

To migawka z Maven dependency enter image description here

więc to dwie słoiki są sprzeczne.

Więc co zrobiłem. Po zbudowaniu projektu usunąłem (xml-api1.0.b2.jar) z Myproject.war i ręcznie wdrożyłem projekt w Jboos, a jboss nie wyświetla błędu.

Ale kiedy nie usuwam (xml-api1.0.b2.jar) z myproject.war i wdrożony w jboss, generuje ten sam błąd.

Muszę więc usunąć zależność od pom.xml.

dla (xml-api1.0.b2.jar) Mam zdefiniował miech zależność

<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>

Ale kiedy skomentować tę zależność od mojego pom.xml Wciąż mam słoik w zależności Maven jak już widoczny na obrazku .

Naprawdę nie dostaję się od tego, gdzie ten (xml-api1.0.b2.jar) jest cumming. może ktoś mi pozwolić, patrząc mój pom.xml.

+0

Wygląda na błąd w tej konkretnej wersji JBoss, zobacz: https://issues.jboss.org/browse/JBAS-7210 – Berger

Odpowiedz

0

xml-api1.0.b2.jar jest importowany przez: poi-3.9. poi-3.9 zależy od dom4j, a dom4j to xml-api1.0.b2 Możesz więc zaktualizować poi do 3.16, to rozwiąże ten problem.

+0

Mam do czynienia z tym samym problemem. Naprawiłeś to? –

+0

prostu użyć tego 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

Powiązane problemy