PersistanceContext EntityManager NullPointer क्यों?

मैं अपनी इंजीनियरिंग परियोजना को प्रौद्योगिकियों के साथ कॉन्फ़िगर करने की कोशिश कर रहा हूं जैसे:

ग्लासफ़िश 4.0 Maven जेएसएफ 2.0 हाइबरनेट 3+ रिचफेस 4+ जेपीए 2.0

क्या कोई मुझे शामिल तकनीकों के साथ मेवेन आर्केटाइप इंगित कर सकता है? यदि नहीं, तो क्या आप मुझे बता सकते हैं कि जार के किस सेट को चलाने की ज़रूरत है? मैंने इसे सामान्य प्रोजेक्ट द्वारा कॉन्फ़िगर करने का प्रयास किया है लेकिन समस्या है जो इस तरह दिखता है:

Caused by: java.lang.AbstractMethodError: org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Ljavax/persistence/EntityManager;
  at com.sun.enterprise.container.common.impl.EntityManagerWrapper.getNonTxEMFromCurrentInvocation(EntityManagerWrapper.java:268)
0
"सामान्य परियोजना" क्या है?
जोड़ा लेखक Koray Tugay, स्रोत

1 उत्तर

ऐसा लगता है कि आपके पास क्लासपाथ समस्या है। सार विधि विधि को JVM द्वारा फेंक दिया जाता है जब यह अमूर्त विधि कार्यान्वयन को कॉल करने का प्रयास करता है और उसे नहीं मिलता है। तो आपके पास क्या है:

  1. पुराने इंटरफ़ेस EntityManagerFactory है, बिना CreateEntityManager (सिंक्रनाइज़ेशन टाइप, मानचित्र) विधि
  2. और पुरानी EntityManagerFactory इंटरफ़ेस का पुराना कार्यान्वयन है, जिसे EntityManagerFactory
  3. कहा जाता है।
  4. आप नए EntityManagerFactory इंटरफ़ेस का उपयोग करते हैं, जहां createEntityManager (सिंक्रनाइज़ेशन टाइप, मानचित्र) जोड़ा गया था। और जावा ईई को इसके बिना पुराना कार्यान्वयन मिलता है।

शायद जार नरक? प्रोजेक्ट द्वारा उपयोग की जाने वाली सभी जार फ़ाइलों को ध्यान से देखें (मुझे लगता है कि आपको अपने परिनियोजन पथ के अंदर WEB-INF/lib निर्देशिका में देखना चाहिए)। चूंकि वे सभी ज़िप फाइलें हैं, उन्हें अनपैक करें और ऑर्ग/हाइबरनेट/ejb/EntityManagerFactoryImpl.class फ़ाइल खोजें। प्रत्येक जार फ़ाइलों के लिए, इस फ़ाइल को रखने के लिए, EntityManagerFactoryImpl क्लास के सभी विधियों को सूचीबद्ध करने के लिए जावप का उपयोग करें।

0
जोड़ा