2012-07-01 18 views
5

में गलत विस्तारक का उपयोग करते हुए डेटान्यूक्लियस मुझे डैटन्यूक्लियस प्लगइन का उपयोग करके ग्रहण में जीएई 1.7.0 पर कक्षाओं को बढ़ाने के साथ सही ढंग से काम करने के लिए डैटन्यूक्लियस 2 प्राप्त करने में कठिनाई हो रही है। यह GAE के पुराने संस्करणों में ठीक काम किया जब मैं मैनुअल यहां दिए गए चरणों का पालन करें:Google App Engine 1.7

http://www.datanucleus.org/products/accessplatform/guides/eclipse/index.html

लेकिन उन्नयन के बाद से, GAE अब इन libs (उनमें से नए संस्करणों यह तरह दिखता है) भी शामिल है, और यह भी GAE है एक नया "एन्हांसर" ध्वज जिसे आप सेट कर सकते हैं। यद्यपि ग्रहण में इस ध्वज को सेट करने के लिए मैं वैसे भी नहीं ढूंढ सकता।

Jul 1, 2012 5:59:55 PM org.datanucleus.enhancer.DataNucleusEnhancer <init> 
INFO: DataNucleus Enhancer : Using ClassEnhancer "ASM" for API "JPA" 
Exception in thread "main" java.lang.NoSuchFieldError: NUCLEUS_CONTEXT_LOADER 
    at org.datanucleus.NucleusContext.<clinit>(NucleusContext.java:73) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:171) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1265) 

मैं कई अलग अलग बातें की कोशिश की है: यह GAE अभी भी v1 libs सहित कि है जब मैं V2 libs चाहते हैं और Datanucleus इस त्रुटि के अनुसार संघर्ष चल रहा है प्रकट होता है। मैंने सभी डिफ़ॉल्ट का उपयोग करने की कोशिश की है। मैंने डैटन्यूक्लियस रनटाइम क्लासपाथ प्रविष्टियों में v2 libs जोड़ने का प्रयास किया है। मैंने जीएई 1.7.0 एसडीके में दोनों स्रोतों और libs में v1 libs को हटाने का प्रयास किया है। लेकिन किसी भी तरह जीएई अभी भी खींच रहा है (या वी 1 libs को खींचने की कोशिश कर रहा है। मैंने ऊपर दिए गए लिंक द्वारा निर्दिष्ट कॉन्फ़िगरेशन को मैन्युअल रूप से सेट करने की पुरानी विधि भी कोशिश की है। यह थोड़ा निराशाजनक है क्योंकि ऐसा लगता है कि अब मैं ऐसी परिस्थिति में जहां मैं इन libs का उपयोग नहीं कर सकता। कम से कम जीएई के पुराने संस्करणों के साथ मैं इसे मैन्युअल रूप से काम पर सेट कर सकता हूं। अब कुछ भी काम नहीं कर रहा है। कोई सुझाव?

+0

क्या "डेटा न्यूक्लियस 2"? डेटा न्यूक्लियस वर्तमान में संस्करण 3.0 और 3.1 पर है। Googles प्लगइन v 2.0.1.1 पर है (डेटाNucleus v3.0.x का उपयोग कर) – DataNucleus

+0

आह सही। हां डेटा न्यूक्लियस का संस्करण v3.0.x है। मैं इसे GAE संस्करण 1.7.0 में src और lib से मैन्युअल रूप से v1 libs को हटाकर काम करने में सक्षम था ताकि GAE उन्हें WEB-INF/lib में डालने की कोशिश करना बंद कर दे। मुझे क्लासपाथ पर v3 और v1 डेटा न्यूक्लियस libs दोनों के साथ संघर्ष हो रहा था। जीएई का कहना है कि आप यह कहने के लिए एक उन्नत झंडा जोड़ सकते हैं कि कौन से संस्करणों का उपयोग करना है, लेकिन मैं यह नहीं देख सकता कि ग्रहण के साथ उस ध्वज का उपयोग उन libs को कॉपी करने से रोकने के लिए कैसे करें। तो कामकाज मेरे लिए काम करता प्रतीत होता है। यह आदर्श नहीं है लेकिन यह काम करेगा। – DavidB

+0

@ डेटाटाइक्लियस जब मैं एपेंगिन 1.7 फ़ोल्डर ब्राउज़ करता हूं, तो डैटन्यूक्लियस जार डैटन्यूक्लियस-कोर-1.1.5.जर, डेटान्यूक्लियस-जेपीए-1.1.5 इत्यादि हैं। डैटन्यूक्लियस v3.0.x का उपयोग करके Google प्लगइन का क्या मतलब है? – xybrek

उत्तर

7

मैंने यह वही त्रुटि मारा और था यह द्वारा अपने प्रोजेक्ट में हल करने में सक्षम:। वरीयताओं में DataNucleus जेपीए सेटिंग में बदलाव करने के बिना,

  • कर क्या davidb टिप्पणी में सुझाव दिया
  • "वी 1" जार को हटानें युद्ध/वेब-आईएनएफ/lib

डेविडबी के सुझाव को स्पष्ट करने के लिए, अपनी परियोजना रखने वाली निर्देशिका खोलें। ".settings" नामक एक फ़ोल्डर होगा, इसे खोलें और com.google.appengine.eclipse.core.prefs संपादित करें। बस = v1gaeDatanucleusVersion को gaeDatanucleusVersion से तीसरी लाइन को बदलने = वी 2

बार जब आप इस किया है, युद्ध/वेब-INF/lib निर्देशिका आप से निम्नलिखित जार निकालें:

  • datanucleus- appengine-1.0.10.final.jar
  • datanucleus कोर-1.1.5.jar
  • datanucleus-जेपीए-1.1.5.jar
  • Geronimo-jpa_3.0_spec-1.1.1.jar
  • Geronimo-jta_1.1_spec-1.1.1.jar
  • jdo2-api-2.3-eb.jar

पुनः प्रारंभ ग्रहण और तुम जाना अच्छा होना चाहिए।

+0

बिल्ड पथ पुस्तकालयों की जांच भी करें। मेरे मामले में दो ऐप इंजन एसडीके मुक्तियां थीं ... v1 के साथ एक और दूसरा v2 के साथ। –

+1

मैंने जीएई 1.7.2 में इस समस्या पर ठोकर खाई और मुझे 'फाइलों को कॉपी किया गया था' वेबबेलफ्लिब 'लाइन को हटाना पड़ा ..... फाइलें कॉपिड टॉवेबइनफ्लिब = एपेंगिन-एपीआई-लैब्सजर | एपेंगिन-एंडपॉइंट्स.जर | एपेंगिन-जेएसआर 107 कैश -77 .2.1.jar | jsr107cache-1.1.jar | appengine-api-1.0-sdk-1.7.2.1.jar | datanucleus-appengine-1.0.10.final.jar | datanucleus कोर-1.1.5.jar | datanucleus-जेपीए -1.1.5.jar | geronimo-jpa_3.0_spec-1.1.1.jar | geronimo-jta_1.1_spec-1.1.1.jar | jdo2-api-2.3-eb.jar – Santthosh

+1

मुझे कोई समस्या थी जहां ग्रहण ने सभी को शुरू किया v1 के तहत geronimo-jpa_3.0_spec-1.1.1.jar के लिए अचानक देखने के लिए। GAE SDK प्लगइन फ़ोल्डर के तहत v1 को हटाने से हल हो गया। – AsafK