java.lang.ClassCastException:org.apache.xerces.parsers.SAXParser无法转换为org.xml.sax.XMLReader Hibernate [英] java.lang.ClassCastException: org.apache.xerces.parsers.SAXParser cannot be cast to org.xml.sax.XMLReader Hibernate

查看:180
本文介绍了java.lang.ClassCastException:org.apache.xerces.parsers.SAXParser无法转换为org.xml.sax.XMLReader Hibernate的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Hibernate JPA / spring 进行一个项目。

它引发以下异常。在做了一些阅读之后,我从依赖关系中删除了所有的xml-apis,但它引发了相同的错误。任何想法??

  java.lang.ClassCastException:org.apache.xerces.parsers.SAXParser无法转换为org.xml .sax.XMLReader 
at org.xml.sax.helpers.XMLReaderFactory.loadClass(XMLReaderFactory.java:199)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:150)
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j .io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.setFeature(SAXReader.java:218)
at org.hibernate.internal.util.xml.MappingReader .setValidationFor(MappingReader.java:114)
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:77)
at org.hibernate.cfg.Configuration.add(Configuration .java:478)
在org.hibernate.cfg.Configuration.add(Configuration.java:474)
在org.hibernate.cfg.Configuration.add(Configura tion.java:647)
org.hibernate.cfg.Configuration.addInputStream(Configuration.java:685)
at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:1248)
在org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1048)
在org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:693)
在org.hibernate.ejb .HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet (AbstractEntityManagerFactoryBean.java:310)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.Abstr actAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)

当我试图初始化jetty中的web上下文web服务器会抛出上述异常[Spring(3.0.6.Release)& hibernate(4.1.10.final)]

 <?xml version =1.0encoding =UTF-8? > 
< beans xmlns =http://www.springframework.org/schema/beans
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xmlns:util =http://www.springframework.org/schema/util
xmlns:context =http://www.springframework.org/schema/context
xmlns :tx =http://www.springframework.org/schema/tx
xmlns:p =http://www.springframework.org/schema/p
xsi:schemaLocation = http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework。 org / schema / context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd\">

< import resource =classpath *:/ META-INF / spring-orchestra-init.xml/>

< bean id =transactionManagerclass =org.springframework.orm.jpa.JpaTransactionManager>
< property name =entityManagerFactoryref =entityManagerFactory/>
< / bean>

< bean class =org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor/>

< bean class =org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor/>

< tx:注解驱动的事务管理器=transactionManager/>

< bean id =entityManagerFactoryclass =org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
p:persistenceUnitName =persistenceUnit>
< property name =dataSourceref =dataSource/>
< property name =jpaDialect>
< bean class =org.springframework.orm.jpa.vendor.HibernateJpaDialect/>
< / property>
< property name =jpaVendorAdapter>
< bean class =org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter>
< property name =showSqlvalue =true/>
< property name =generateDdlvalue =false/>
< / bean>
< / property>
< property name =loadTimeWeaver>
< bean class =org.faces.controller.jpa.JpaLoadTimeWeaver/>
< / property>

< / bean>

< bean class =org.springframework.beans.factory.config.CustomScopeConfigurer>
< property name =scopes>
< map>
< entry key =conversation.access>
< bean class =org.apache.myfaces.orchestra.conversation.spring.SpringConversationScope>
< property name =advices>
< list>
< ref bean =persistentContextConversationInterceptor/>
< / list>
< / property>
< / bean>
< / entry>
< / map>
< / property>
< / bean>

< bean id =jpaPersistentContextFactoryclass =org.apache.myfaces.orchestra.conversation.spring.JpaPersistenceContextFactory>
< property name =entityManagerFactoryref =entityManagerFactory/>
< / bean>
< bean id =persistentContextConversationInterceptorclass =org.apache.myfaces.orchestra.conversation.spring.PersistenceContextConversationInterceptor>
< property name =persistenceContextFactoryref =jpaPersistentContextFactory/>
< / bean>

< bean name =org.apache.myfaces.orchestra.conversation.AccessScopeManagerConfiguration
class =org.apache.myfaces.orchestra.conversation.AccessScopeManagerConfiguration
scope =singletonlazy-init =true>

< property name =ignoreViewIds>
< set>
<值> / __ ADFv __。xhtml< /值>
< / set>
< / property>
< / bean>
< bean id =dataSource
class =org.springframework.jdbc.datasource.DriverManagerDataSource>
< property name =driverClassNamevalue =oracle.jdbc.driver.OracleDriver/>
< property name =usernamevalue =username/>
< property name =passwordvalue =password/>
< / bean>


解决方案

删除loadtimeweaver属性后,它工作正常。



< property name =loadTimeWeaver>

< bean class =org.faces.controller。 jpa.JpaLoadTimeWeaver/>
< / property>



这个链接表明,尽管它已经很旧了,

https://jira.springsource.org/browse/ SPR-2596


I am working on a project with Hibernate JPA /spring.

It throws the following exception. After doing some reading I removed all the xml-apis from dependencies but it throws the same error. Any ideas ??

java.lang.ClassCastException: org.apache.xerces.parsers.SAXParser cannot be cast to org.xml.sax.XMLReader
    at org.xml.sax.helpers.XMLReaderFactory.loadClass(XMLReaderFactory.java:199)
    at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:150)
    at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
    at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
    at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
    at org.dom4j.io.SAXReader.setFeature(SAXReader.java:218)
    at org.hibernate.internal.util.xml.MappingReader.setValidationFor(MappingReader.java:114)
    at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:77)
    at org.hibernate.cfg.Configuration.add(Configuration.java:478)
    at org.hibernate.cfg.Configuration.add(Configuration.java:474)
    at org.hibernate.cfg.Configuration.add(Configuration.java:647)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:685)
    at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:1248)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1048)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:693)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)

while I am trying to initialise the web context in jetty web server it throw the above exception.[Spring (3.0.6.Release) & hibernate (4.1.10.final) ]

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:util="http://www.springframework.org/schema/util"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xmlns:p="http://www.springframework.org/schema/p"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

<import resource="classpath*:/META-INF/spring-orchestra-init.xml"/>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
        </bean>

<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

<tx:annotation-driven transaction-manager="transactionManager"/>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"    
      p:persistenceUnitName="persistenceUnit">
    <property name="dataSource" ref="dataSource"/>
    <property name="jpaDialect">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"/>
    </property>
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true"/>
            <property name="generateDdl" value="false"/>
        </bean>
    </property>
    <property name="loadTimeWeaver">
        <bean class="org.faces.controller.jpa.JpaLoadTimeWeaver"/>
    </property>

</bean>

<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
    <property name="scopes">
        <map>
            <entry key="conversation.access">
                <bean class="org.apache.myfaces.orchestra.conversation.spring.SpringConversationScope">
                    <property name="advices">
                        <list>
                            <ref bean="persistentContextConversationInterceptor" />
                        </list>
                    </property>
                </bean>
            </entry>
        </map>
    </property>
</bean>

<bean id="jpaPersistentContextFactory" class="org.apache.myfaces.orchestra.conversation.spring.JpaPersistenceContextFactory">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="persistentContextConversationInterceptor" class="org.apache.myfaces.orchestra.conversation.spring.PersistenceContextConversationInterceptor">
    <property name="persistenceContextFactory" ref="jpaPersistentContextFactory" />
</bean>

<bean name="org.apache.myfaces.orchestra.conversation.AccessScopeManagerConfiguration"
      class="org.apache.myfaces.orchestra.conversation.AccessScopeManagerConfiguration"
      scope="singleton" lazy-init="true">

    <property name="ignoreViewIds">
        <set>
            <value>/__ADFv__.xhtml</value>
        </set>
    </property>
</bean>
<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@rum:1541:CHEZTST" />
    <property name="username" value="username" />
    <property name="password" value="password" />
</bean>

解决方案

After removing the loadtimeweaver property it worked fine.

<property name="loadTimeWeaver">
<bean class="org.faces.controller.jpa.JpaLoadTimeWeaver"/> </property>

this is the link that shows that, although it is quite old it works

https://jira.springsource.org/browse/SPR-2596

这篇关于java.lang.ClassCastException:org.apache.xerces.parsers.SAXParser无法转换为org.xml.sax.XMLReader Hibernate的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆