[java] CacheProvider के लिए अपवाद NoClassDefFoundError


1 Answers

यह हाइबरनेट 4 में पेश किए गए परिवर्तनों के कारण हो सकता है जो हाइबरनेट के लिए स्प्रिंग समर्थन के अनुकूल नहीं हैं। यह मुद्दा हाइबरनेट 4 का समर्थन करने के लिए अलग पैकेज जोड़ने के बारे में बात करता है। इसके लिए आपको वसंत 3.1 की आवश्यकता होगी। दूसरा विकल्प है कि अगर आपको 4 में पेश की गई किसी विशेष सुविधा की आवश्यकता नहीं है तो हाइबरनेट 3 पर चिपकना है।

Question

मैं वसंत और हाइबरनेट में नया हूं, इसलिए मैं स्प्रिंग 3 + हाइबरनेट 4 के आधार पर कुछ सरल वेब एप्लिकेशन को लागू करने की कोशिश कर रहा हूं, जबकि मैं टॉमकैट शुरू करता हूं, मेरे पास यह अपवाद है:

java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
    ...
Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)

मैंने पाया है कि यह वर्ग हाइबरनेट 3 के लिए हाइबरनेट-कोर में था लेकिन मुझे इसे हाइबरनेट 4 में नहीं मिला है।

दृढ़ता के लिए मेरे context.xml का हिस्सा:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
    <property name="url" value="jdbc:oracle:thin:@IP_Address:SID"/>
    <property name="username" value="xxx"/>
    <property name="password" value="xxx"/>
    <property name="initialSize" value="5"/>
    <property name="maxActive" value="20"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="com.huawei.vms.user"/>
    <property name="hibernateProperties">
        <props>
            <prop key="dialect">org.hibernate.dialect.Oracle10gDialect</prop>
        </props>
    </property>
</bean>

कृपया यह जानने में मेरी सहायता करें कि यह कैशप्रोवाइडर को लोड करने का प्रयास क्यों कर रहा है क्योंकि मेरे पास context.xml में इसके लिए कोई सेटिंग नहीं है और मुझे अपने प्रोजेक्ट में कौन सा जार जोड़ना है। धन्यवाद!




वास्तव में एक साधारण समस्या जो एक ही त्रुटि का कारण बनती है, केवल पोम (4. कुछ) में हाइबरनेट संस्करण और वसंत कॉन्फ़िगरेशन में निर्दिष्ट संस्करण के बीच मेल नहीं खाती है।




Related