2013-06-28 17 views
15

Non riesco a superare questo problema. Navigato attraverso molti forum. Pls help:Provider per javax.xml.parsers.DocumentBuilderFactory non è stato trovato

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found.

Ho incluso tutti i file jar in xerces bin. seguente è il mio WEB-INF/struttura lib:

Lib

+0

[Possibilmente duplicato] (http://stackoverflow.com/questions/15526419/unexpected-exception-parsing-xml-document-from-servletcontext-resource-web-inf) – gks

+0

Non sono sicuro ma sembra l'implementazione di DocumentFactoryBuilder non si trova nemmeno dopo aver aggiunto i file jar – Saket

+0

Quindi provare con diversi jar da [Qui] (http://www.findjar.com/class/javax/xml/parsers/DocumentBuilderFactory.html) [Uso] (http: //grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/xml/parsers/DocumentBuilderFactory.java) [Ulteriori informazioni] (http: //www.developerfusion.it/code/2064/a-simple-way-to-read-an-xml-file-in-java /) – gks

risposta

0

sono stato in grado di trovare una soluzione (navigando attraverso alcuni forum):

  1. Vai alla posizione in cui il JRE è presente. Per esempio, dal momento che sto utilizzando WebSphere Portal JRE, sono andato a questa posizione: C: Program Files \ IBM5 \ WebSphere \ AppServer \ java \ jre \ lib

  2. Aprire il file \ i jaxb.properties e modificare la proprietà javax.xml.parsers.DocumentBuilderFactory per suite il parser xml. Nel mio caso è: javax.xml.parsers.DocumentBuilderFactory = org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

mi sono stati promossi al problema successivo :). Sto ottenendo un ClassCastException ora. Segue il registro:

Eccezione imprevista che analizza il documento XML dalla risorsa ServletContext [/WEB-INF/applicationContext.xml]; l'eccezione annidata è java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

Tutto l'aiuto è benvenuto. Grazie

+1

Questo potrebbe aiutare. https://community.jboss.org/thread/152151 Prova a rimuovere xml-apis.jar dalla tua build. – austin

11

Abbiamo questo problema anche quando l'aggiornamento primavera e JPA/hibernate da 3 a 4. Per noi è perché hibernate-EntityManager 4.3.11 ha una dipendenza da jdom che ha una dipendenza da xml-apis che entrerà in conflitto con la roba javax.xml di rt.jar di JRE. Escludiamo in modo che la nostra configurazione xml di primavera possa essere analizzata correttamente. Per risolvere il problema, possiamo semplicemente escludere xml-apis dall'albero delle dipendenze.

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <exclusions> 
     <exclusion> 
      <groupId>xml-apis</groupId> 
      <artifactId>xml-apis</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
2

Ho riscontrato questo problema anche con WebSphere Portal 8. Recentemente ho utilizzato xalan 2.7.0 per l'accesso e l'analisi di XML.

<dependency> 
    <groupId>xalan</groupId> 
    <artifactId>xalan</artifactId> 
    <version>2.7.0</version> 
    <exclusions> 
     <exclusion> 
      <groupId>xml-apis</groupId> 
      <artifactId>xml-apis</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

Dopo aver rimosso l'xml-apis (come ha fatto Leon Li) ha funzionato bene.

Problemi correlati