JNI साझा लाइब्रेरी (JDK) लोड करने में विफल


928

जब मैं ग्रहण खोलने की कोशिश करता हूं , तो एक पॉप-अप संवाद बताता है:

JNI साझा लाइब्रेरी "C: /JDK/bin/client/jvm.dll" `को लोड करने में विफल।

इसके बाद, ग्रहण बल बंद हो जाता है।

यहाँ कुछ बिंदु हैं जिन्हें मैं बनाना चाहता हूँ:

  • मैंने यह देखने के लिए जाँच की कि क्या उस रास्ते पर कुछ मौजूद है। यह मौजूद है।
  • मेरा ग्रहण और जावा एसई विकास किट दोनों 64-बिट हैं। मैंने अपना सिस्टम चेक किया, और यह 64-बिट को हैंडल कर सकता है।
  • मैंने इस समस्या को Google और स्टैक ओवरफ़्लो पर खोजा है, और मुझे जो एकमात्र उत्तर मिला है वह था JDK और एक्लिप्स के 32-बिट संस्करणों को डाउनलोड करना।

32-बिट संस्करण डाउनलोड करना एक ऐसी चीज है जिसे मैं केवल बहुत अंतिम उपाय के रूप में करना चाहता हूं।
इस मुद्दे को हल करने के लिए क्या सुझाव दिया जाएगा?


आपके मामले में वास्तव में क्या समस्या थी?
22

4
मेरे पास, मेरे आश्चर्य के लिए, 5 या तो जावा मेरे कंप्यूटर पर स्थापित था। इतना ही नहीं, लेकिन यह पता चला कि मैंने 32-बिट एक्लिप्स को दुर्घटना से डाउनलोड किया था। इसलिए, मैंने हर जावा को अनइंस्टॉल कर दिया था, एक्लिप्स को हटा दिया (एक्लिप्स में "अनइंस्टॉल" नहीं है), और मेरी मशीन के लिए एक्लिप्स क्लासिक 64-बिट डाउनलोड किया , साथ ही 64-बिट जावा (उस लिंक के लिए एसपीपी का जवाब देखें)।
Mxyk

2
इसके अलावा: अगर किसी को अपने एक्लिप्स को "हटाने" में परेशानी होती है (उदाहरण के लिए फ़ोल्डर दूर नहीं जाएगा, तो चाहे कितनी बार आप इसे मैन्युअल रूप से या कमांड प्रॉम्प्ट के माध्यम से हटा दें), कमांड प्रॉम्प्ट के साथ सुरक्षित मोड का उपयोग करके इसे हटाने का प्रयास करें .. मुझे कोई पता नहीं है मुझे ऐसा क्यों करना पड़ा, लेकिन इसने काम करना बंद कर दिया।
Mxyk

@MikeGates मुझे वह समस्या भी थी, LockHunter का उपयोग किया। अप्रिय। इस टूल को विंडोज पर चलाना बहुत काम का तरीका है।
जकुल्लम

ग्रहण / जावा जब 64 बिट्स की बात आती है, तो यह बेकार है ... एक अपमान है। सबसे अच्छी सलाह जो मैं दे सकता हूं वह केवल 32 बिट से चिपकना है। समय के ढेर बचाओ।
onknows

जवाबों:


848

आपको एक 64-bitतिकड़ी की आवश्यकता है :

  • 64-bit ओएस
  • 64-bit जावा
  • 64-bit ग्रहण

व्याख्या : एक आवेदन में लोड किया जा रहा है देशी कोड (DLL) की कल्पना करो। अब कल्पना करें कि 32 बिट फ़ंक्शन एक 64 बिट या एक जैसे कॉल करना चाहता है। संरेखण और डेटा और सब कुछ के साथ भी। मुझे लगता है मुझे और कुछ नहीं बताना है = P
imacake

@androiddeveloper मुझे लगता है कि आप कई जावा संस्करण मिलाते हैं। केवल 64 तिकड़ी का उपयोग करने का प्रयास करें।
ग्रिम

सही ढंग से! मेरा लैपटॉप x64 OS पर चल रहा है लेकिन मैंने x86 JDK स्थापित किया है। बस स्थापित x64 jdk और समस्या दूर जाना। धन्यवाद।
गुयेन मिन्ह बिनह

यह उत्तर वास्तव में पूरी तरह से सही नहीं है। आप करते नहीं 64-बिट JDK और 64-बिट ग्रहण चलाने के लिए यदि आप एक 64-बिट ऑपरेटिंग सिस्टम पर हैं की जरूरत है। 64-बिट OS सिर्फ 32-बिट जावा + 32-बिट ग्रहण का कॉम्बो चला सकता है। जो मिलान होना चाहिए , वह JRE / JDK और ग्रहण की सघनता है।
ई-रिज़

1
@Tarik हाँ, इसके 2015 और JBoss टूल्स के विज़ुअल पेज एडिटर (VPE) को अभी भी 64-बिट अपग्रेड के लिए सालों से इंतजार है। नीचे दिए गए "वर्किंग-पेयर" उत्तर को दूसरी जोड़ी में देखें। JBoss टूल-प्लग-इन उसी आर्किटेक्चर से जुड़ा हुआ है जिसे आपने ग्रहण किया था। तो ग्रहण (JBossTools के साथ) 32bit होना चाहिए, JDK 32bit होना चाहिए और OS 64 बिट हो सकता है। वर्तमान में 64 बिट ग्रहण JBoss टूल के साथ काम नहीं करता है .... मुझे JBossIDE नामक एक परियोजना याद है जो ग्रहण का उपयोग करके काम करती है, आप इसका उपयोग JBossTools को ग्रहण में स्थापित करने के बजाय करेंगे। शर्म तुम पर JBoss, mozilla पर भी शर्म आती है।
गंभीर

315

OS, JDK और ग्रहण की वर्किंग पेयरिंग:


  • 32-bit ओएस | 32-bit JDK | 32-bit ग्रहण ( केवल 32-बिट )
  • 64-bit ओएस | 32-bit JDK | 32-bit ग्रहण
  • 64-bit ओएस | 64-bit JDK| 64bit ग्रहण ( केवल 64-बिट )

मैंने कई JDK और JRE स्थापित किए थे।

उनमें से प्रत्येक की पैठ चर में अपनी प्रविष्टि थी, सभी कमोबेश काम कर रहे थे।

PATH वैरिएबल को देखते हुए, कुछ इंस्टॉलेशन पूरी तरह से बेकार थे, क्योंकि उनका कभी उपयोग नहीं किया गया था। बेशक, "निष्क्रिय" जावस को मैन्युअल रूप से ग्रहण के भीतर से संदर्भित किया जा सकता है अगर मुझे ज़रूरत है, लेकिन मैंने ऐसा कभी नहीं किया, इसलिए मुझे वास्तव में उनकी ज़रूरत नहीं थी। (कम से कम मैंने उस समय ऐसा सोचा था ...)

मैंने मेस को साफ किया, सभी वर्तमान जावा की स्थापना रद्द की, केवल JDK + JRE 1.7 64-बिट स्थापित किया।

ग्रहण के एक 'इंस्टालेशन' बाद में विफल हो गया Failed to Load the JNI shared Libraryऔर ताजा स्थापित JDK के सापेक्ष एक दिया गया रास्ता जहाँ यह jvm.dllहोना चाहिए था।

फेल होने वाला ग्रहण मेरे सभी IDE में से एक था जो अभी भी मेरे अन्यथा सभी 64-बिट सेटअप पर 32-बिट संस्करण था।

VM तर्कों को जोड़ना, जैसे कि अक्सर उल्लेख किया गया eclipse.iniथा, मेरे मामले में कोई उपयोग नहीं था (क्योंकि मेरे पास केवल गलत JDK / JRE से संबंधित था।)

मैं यह भी पता लगाने में असमर्थ था कि यह जांच कैसे होगी कि यह ग्रहण 32-बिट या 64-बिट संस्करण था (मैं इसे टास्क मैनेजर में नहीं देख सकता था , क्योंकि यह ग्रहण 'स्थापना' शुरू नहीं होगा। और चूंकि यह था जब से मैंने इसे स्थापित किया था, तब से मैं इसके संस्करण को याद नहीं कर पाया। '

यदि आप एक नए JDK और एक पुराने JRE का उपयोग करते हैं, तो आप परेशानी में पड़ सकते हैं, लेकिन तब यह अधिक java.lang.UnsupportedClassVersionErrorप्रतीत होता है, IIRC


3
यह केवल पथ \
_ का

मम्म, यह हमेशा सवाल है ... ओरेकल डॉक्स का कहना है कि यह केवल पहले एक का उपयोग करता है, लेकिन शायद कुछ और बदला जा रहा था / पहले से ही जगह और काम कर रहा था। लगता है जैसे इसकी हमेशा कुछ अजीब है।
ekinnear

8
कौन सा संस्करण 32-बिट या 64-बिट की जाँच करने के लिए, eclipse.ini खोलें और उपयोग किए जाने वाले विषुव लांचर की तलाश करें (जैसे org.eclipse.equinox.launcher.win32.win32.x86_64_1.100.v20110502)
स्टीव ओह

मेरे पास त्रुटि के साथ यह कॉम्बो था। 64-बिट OS - 32-बिट JDK - 32-बिट ग्रहण और यह काम नहीं करता है। मैंने इसे इस कॉम्बो के साथ हल किया: 64-बिट ओएस - 64-बिट जेडीके - 64 बिट एक्लिप्स (केवल 64-बिट)। % PATH% चर को 64 बिट जावा संस्करण में इंगित करने के लिए अद्यतन किया गया है। वास्तव में% JAVA_HOME% को अपडेट कर दिया गया है क्योंकि इस चर का उपयोग% PATH% चर मानों में किया जाता है।
thanos.a

1
यह @ekinnear की टिप्पणी थी जिसने मेरे मुद्दे को हल किया। मुझे यकीन नहीं है कि यह मेरी खिड़कियों / बिन फ़ोल्डर में JVM.dll की तलाश क्यों कर रहा था, लेकिन उचित रास्ता डालकर लगता है कि इसे हल कर दिया गया है।
जेम्स

267

सुनिश्चित करें कि आपकी eclipse.iniफ़ाइल में निम्न पंक्तियाँ शामिल हैं।

-vm
C:\path\to\64bit\java\bin\javaw.exe

मेरे eclipse.iniउदाहरण के लिए:

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

ओएस का उपयोग करें और ग्रहण करें 64 बिट या दोनों 32 बिट दोनों समान और कॉन्फ़िगर रखें eclipse.ini

आपकी eclipse.iniफ़ाइल आपके ग्रहण फ़ोल्डर में मिल सकती है


9
इससे समस्या हल हो जाती है। मैंने -vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exeअपनी eclipse.ini फ़ाइल में लाइन जोड़ी और यह ठीक शुरू हुआ। मदद के लिए धन्यवाद +1।
प्रोलिंक .०० सिप

1
यह कार्य ठीक है कृपया अपने जावा के संस्करण की जांच करें, जावा-वर्जन को कंसोल में चलाएं और जांचें कि यह संस्करण ग्रहण द्वारा उपयोग किया जा रहा है या नहीं
ज्येष्ठ कावथिया

2
मैंने अपने जावा 6 एसडीके के साथ ऐसा किया, और यह काम नहीं किया। मैंने अपने जावा 7 एसडीके की ओर इशारा करते हुए इसे फिर से आजमाया और यह काम कर गया। मैं विंडोज 8 64-बिट, जावा 6 और 7 (दोनों 64-बिट) और एक्लिप्स हेलियोस (32-बिट) पर हूं। मैं 64-बिट की स्थापना रद्द करने और फिर से स्थापित करने के लिए तैयार था, लेकिन ऐसा लगता है कि जावा 7 एसडीके में 32 बिट ऐप्स को बेहतर तरीके से चलाने के लिए कुछ नई खुफिया शामिल हैं।
रयान शिलिंगटन

9
यह काम। लेकिन ini फ़ाइल के शीर्ष में -vm लगाने की आवश्यकता है; कम से कम -vmargs या --launcher.xxx
pinkdawn

2
बहुत महत्वपूर्ण बिंदु जो मैंने याद किया। यदि आप इसका उपयोग करते हैं: "-vm C: \ ProgramFiles \ Java \ jdk1.6.0_32 \ bin \ javaw.exe" यह कभी भी सही तरीके से काम नहीं करेगा "-vm C: \ Program Files \ Java \ jdk1.6.0_32 \ bin \ like javaw.exe "-vm के बाद नई लाइन बहुत महत्वपूर्ण है।
स्कूल बॉय


42

इस त्रुटि का अर्थ है कि ग्रहण की वास्तुकला जावा रनटाइम की वास्तुकला से मेल नहीं खाती है, अर्थात यदि एक 32-बिट है तो दूसरा समान होना चाहिए, न कि 64-बिट।

ईवीएससी में जेवीएम स्थान निर्दिष्ट करने के लिए सबसे विश्वसनीय फिक्स है:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

महत्वपूर्ण: ये दो लाइनें -vmargs से पहले आनी चाहिए उद्धरण का उपयोग न करें; रिक्त स्थान की अनुमति है।


नमस्ते, मैं इस .ini सेटअप के साथ कुछ समय पहले काम कर रहा हूं, क्या मुझे 64-बिट में आर्किटेक्चर को अपडेट करना चाहिए या मैं अलग-अलग आर्किटेक्चर होने के तथ्य को अनदेखा कर सकता हूं ?? Thx
बिलीजोकर 13

32

एक अन्य विकल्प है:

Eclipse.exe के लिए एक शॉर्टकट बनाएँ। शॉर्टकट खोलें और लक्ष्य को इसमें बदलें:

"C:\Program Files\eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"

अपनी स्थापना के लिए, सुनिश्चित करें कि स्थान सही ग्रहण स्थापना निर्देशिका और सही javaw.exeस्थापना निर्देशिका की ओर इंगित करते हैं ।

(ग्रहण और जावा के 64/32 बिट संस्करणों को निश्चित रूप से समान होने की आवश्यकता है।)


अच्छे विकल्प लेकिन ऊपर के रूप में यह ini फ़ाइल में जोड़ने से काम करना चाहिए
mr.user1065741

2
.Ini फ़ाइल को बदलने की कोई आवश्यकता नहीं है। सिर्फ जावा और ग्रहण के लिए 64 बिट कॉम्बो का उपयोग करें
thanos.a

29

मेरे पास जावा के कई संस्करण हैं, सन जेडडीके और जोकॉइट, दोनों 32 बिट और 64-बिट, इत्यादि, दोनों स्थापित हैं और जावा ईई (जूनो) के लिए 64-बिट एक्लिप्स की एक नई स्थापना के साथ इस समस्या में भाग गया।

क्या काम नहीं किया:

पीटर रेडर द्वारा सुझाई गई 64-बिट तिकड़ी:

मैं 64-बिट ओएस (विंडोज 7) पर 64-बिट ग्रहण का उपयोग कर रहा हूं।

मैंने सुनिश्चित किया कि सन JDK 7 64-बिट डिफ़ॉल्ट जावा संस्करण था। जब मैंने कमांड लाइन (cmd.exe) से "java -version" टाइप किया, तो Sun JDK 7 64-बिट लौटा दिया गया ...

java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

इससे मेरे लिए समस्या का समाधान नहीं हुआ।

क्या DID काम:

जोड़ने के लिए -mm विकल्प eclipse.ini पर जैसा कि जयेश कावथिया ने सुझाया था:

मैंने eclipse.ini में निम्नलिखित को जोड़ा:

-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe

ध्यान दें:

मुझे अपनी मशीन पर JDK या JRE के विभिन्न संस्करणों में से किसी की भी स्थापना रद्द करने की आवश्यकता नहीं थी।


मुझे JDK की या तो स्थापना रद्द करने की आवश्यकता नहीं थी, लेकिन मैंने भविष्य के त्रुटि कारणों को मिटाने के लिए अपने सिस्टम को साफ करने के लिए चुना। मैंने वीएम तर्कों का भी उल्लेख किया था, और बताया कि वे मेरे लिए स्पष्ट रूप से काम क्यों नहीं कर सकते। यह आपकी पसंद है कि आप अपने सिस्टम को कैसे सेट करना चाहते हैं, यह इस बात पर निर्भर करता है कि आपको वास्तव में क्या चाहिए।
15

मुझे दोनों चीजें करनी थीं, लेकिन javaw.exe लाइन को जोड़ने के बाद मुझे 64 बिट, वैसे भी सब कुछ स्थापित करने का नेतृत्व किया। यह निर्भर करता है कि आप Android को भुगतान करने के कारण कितने कर्म की सजा पाते हैं।
जोश

मैं वर्षों से विकास कर रहा हूं, और मेरी प्रणाली में कोई परिवर्तन नहीं है (जो मुझे पता है), ग्रहण इस त्रुटि को फेंकता है। किसी भी अन्य सेटिंग्स को बदलने या कुछ भी अन / री / इंस्टॉल करने की आवश्यकता के बिना -vm विकल्प को जोड़ना मेरे लिए इसे क्रमबद्ध करता है।
नोज़ोस

18

गुम jvm.dllफ़ाइल के लिए, हम eclipse.iniफ़ाइल के रूप में dll फ़ाइल का पथ प्रदान कर सकते हैं

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

यहां पथ के किसी भी स्थान और दोहरे उद्धरण चिह्नों को हटाना महत्वपूर्ण है। यह मेरे लिए काम किया जब मैंने उद्धरण और स्थान को हटा दिया।

मुझे उम्मीद है कि यह किसी की मदद करता है।


1
इसने -vm javaw.exe के बजाय मेरी मदद की
amj

11

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। यह निम्न कार्य करते हुए हल किया गया था।

  • एक्लिप्स को प्रोग्राम फाइल्स में ले जाएं ( प्रोग्राम फाइल्स (x86) के लिए नहीं )।
  • 'पथ' पर्यावरण चर से जावा के 32-बिट संस्करण के लिए पथ निकालें।

मेरे पास जावा के दोनों संस्करण स्थापित हैं, लेकिन एक्लिप्स 32-बिट वाले का उपयोग करने की कोशिश कर रहा है।


10

ज़रूर, आपके पास JDK और ग्रहण का एक संगत संस्करण होना चाहिए, लेकिन आपको eclipse.iniफ़ाइल को नीचे की पंक्तियों में जोड़ना होगा :

-vm
yourdrive\java\bin

उन्हें अपनी eclipse.iniफ़ाइल की पहली दो पंक्तियाँ बनाएँ।


7

जितने भी लोग पहले से ही इसके लिए तैयार हैं, यह ग्रहण और जावा दोनों के लिए 32 बनाम 64 बिट समस्या है । आप 32 और 64 बिट का मिश्रण नहीं कर सकते। चूंकि ग्रहण उपयोग नहीं करता है JAVA_HOME, इसलिए आपको ग्रहण शुरू करने से पहले अपने पैट को बदलने की संभावना होगी, ताकि आप यह सुनिश्चित कर सकें कि आप न केवल जावा के उपयुक्त संस्करण का उपयोग कर रहे हैं, बल्कि अगर 32 या 64 बिट (या जयनाथ के रूप में आईएनआई फ़ाइल को संशोधित करें) ।

यदि आप एक कंपनी-शेयर से एक्लिप्स स्थापित कर रहे हैं, तो आपको यह सुनिश्चित करना चाहिए कि आप बताएं कि कौन सा एक्लिप्स संस्करण आप अनज़िप कर रहे हैं, और उपयुक्त प्रोग्राम फाइल्स डायरेक्टरी को अनज़िप करें, जो कि ट्रैक रखने में मदद करने के लिए है, फिर पाथ (या तो स्थायी रूप से बदलें) विंडोज) कंट्रोल पैनल -> सिस्टम या सेट PATH=/path/to/32 or 64bit/java/bin;%PATH%(हो सकता है कि अगर आप इसे अपने सिस्टम और / या उपयोगकर्ता पर्यावरण चर में सेट नहीं करना चाहते हैं तो एक बैच फ़ाइल बनाएं)। याद रखें, 32-बिट प्रोग्राम फाइलों (x86) में है

यदि अनिश्चित है, तो बस एक्लिप्स लॉन्च करें, यदि आपको त्रुटि मिलती है, तो अपने पैट को जावा के अन्य 'बिट' संस्करण में बदल दें, और फिर पुन: प्रयास करें। फिर ग्रहण निर्देशिका को उपयुक्त प्रोग्राम फ़ाइल निर्देशिका में ले जाएं।


यह इस पृष्ठ के रूप में स्पष्ट रूप से एक समस्या है क्योंकि वर्तमान में 700k विचार ... और एक साल बाद जाहिर तौर पर इसके लिए कोई फिक्स नहीं है जो कि केवल पर्यावरण के चर में पोकिंग को शामिल करने के लिए आईडीई को चलाने के लिए शामिल नहीं है!
सियारन गलाघेर

6

वैकल्पिक रूप से, JRE और ग्रहण का समान "बिट" संस्करण प्राप्त करें और फिर नीचे दिए गए लक्ष्य के साथ एक नया शॉर्टकट बनाएं (स्थापित JRE और ग्रहण स्थान / पथ को बदलें):

"C:\studio\eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" java.home="C:\Program Files\Java\jre7" java.runtime.version=1.7.0

यह ट्रिक काम आना चाहिए।


6

आप उस समस्या को हल कर सकते हैं जैसे कि कई अन्य प्रतिकृति हैं। आपको चाहिए कि ग्रहण और JDK 32-बिट्स हों या 64-बिट्स पर हों । ओएस की वास्तुकला में कोई फर्क नहीं पड़ता जबकि अन्य एक ही प्रकार के आर्किटेक्योर पर बने हुए हैं।


6

मेरे ऊपर के उत्तर मुझे इतना लुभा गए, कि मैंने ओएस, एक्लिप्स और जेवीएस तीनों के साथ सभी संभावित संयोजनों को चलाने का फैसला किया । वैसे भी, जो कोई भी मेरी पोस्ट को खोद रहा है और पढ़ रहा है, उसे एक हॉट स्पॉट के रूप में देखें (मैं विंडोज 7 उपयोगकर्ता हूं)।

  1. आप समझते हैं कि प्रोग्राम फ़ाइल और प्रोग्राम फ़ाइल (x86) दो अलग-अलग फ़ोल्डर हैं ... x86 32-बिट प्रोग्राम के संस्करण के लिए है और पूर्व 64-बिट संस्करण है।

  2. यदि आपके पास जावा के कई संस्करण हैं जो अलग-अलग बिटनेस और रिलीज़ संस्करणों के साथ स्थापित हैं, जो कि इतने सारे ओपन सोर्स आईडीई , प्रबंधकों, प्रशासनिक कंसोल के साथ होने के लिए बाध्य है , तो सबसे अच्छा विकल्प eclipse.iniफ़ाइल में सीधे वीएम तर्क सेट करना है । यदि आप नहीं करते हैं, तो ग्रहण पागल हो जाएगा और खुद को खोजने की कोशिश करेगा जो अच्छा नहीं है।


5

इसे हल करने का एक आसान तरीका यह है कि jreफ़ोल्डर को JDK से ग्रहण स्थापना फ़ोल्डर में कॉपी किया जाए। सुनिश्चित करें कि आप जिस JDK से कॉपी करते हैं, वह आपके ग्रहण स्थापना के समान ही है।

मुझे अपनी मशीन को इस तरह से कॉन्फ़िगर करना पड़ा, क्योंकि मैं अपनी मशीन पर एक्लिप्स और एप्सीलेटर टाइटेनियम स्टूडियो दोनों चलाता हूं। स्टूडियो को 32-बिट जावा की आवश्यकता है, जबकि ग्रहण को 64-बिट की आवश्यकता है।


मैंने एक ही समय पहले एक ही काम किया था, लेकिन ग्रहण-जी-जूनो-एसआर 1-विन 32 और जावा 6 के लिए, मुझे यह काम करने के लिए नहीं मिला, इस बार के आसपास। क्या आपने jre के लिए एक पूर्ण पथ के साथ eclipse.ini को भी संपादित किया?
user77115

मेरे पास ग्रहण की 64 चौड़ाई jdk 7 64bit है, लेकिन टाइटेनियम लंबा है, यह साझा किए गए dll को लोड करने में असमर्थ है।
रियलटीबो

विंडो के क्रेजी ऑटोपेड्स के कारण, जब भी JAVA के लिए कोई अपडेट होता है, तो यह मेरे Eclipe को लॉन्च करने से रोकता है। उपरोक्त समाधान ऑटोपेडेट्स की परवाह किए बिना स्वतंत्र रूप से काम करने का सबसे आसान तरीका है। धन्यवाद!
जिओ द व्हिफ़

4

हां, बस यह सुनिश्चित कर लें कि आपके ग्रहण और JDK के संस्करण 64-बिट दोनों हैं। बस यह सुनिश्चित करने के लिए कि सब कुछ सही है JDK को अनइंस्टॉल किया जाए और इसे प्रोग्राम फाइल्स में इंस्टॉल किया जाए न कि प्रोग्राम फाइल्स (x86) में । कम से कम जिसने मेरी समस्या का समाधान किया।


4

बस पाथ पर्यावरण चर की जाँच करें। में मेरा कंप्यूटर -> गुण -> उन्नत सिस्टम सेटिंग्स -> पर्यावरण चर -> (बाएं पीसी के कुछ नाम "" ऊपरी खिड़की "के लिए उपयोगकर्ता चर") सिर्फ पथ चर की जाँच करें। यदि यह मौजूद नहीं है तो इसे निम्नलिखित के साथ बनाएं -> C: \ Program Files (x86) \ Java \ jre7 \ bin <-

मेरे ग्रहण को अद्यतन करने के बाद मैं उसी समस्या का सामना कर रहा था। मैंने पाया है कि पथ ने 64-बिट संस्करण पूछा है, लेकिन मेरे पास 32-बिट में अलग-अलग पथ है। यह मेरे लिए मददगार था। PS: मेरे पास 64-बिट OS, 32-बिट JRE और 32-बिट ग्रहण है। सभी ठीक काम करता है :)


4

आपको सभी पुराने [JRE] [1] को अनइंस्टॉल करना चाहिए और फिर सबसे नया स्थापित करना चाहिए ... मुझे भी यही समस्या थी और अब मैं इसे हल करता हूं। मैंने:

बेहतर स्थापित Jre 6 32 बिट। यह सचमुच काम करता है।


3

साइट से 64 बिट जेवीएम डाउनलोड किया और इसे मैन्युअल रूप से इंस्टॉल किया और सिस्टम पथ चर को अपडेट किया। इससे समस्या हल हो गई।

  1. डिफ़ॉल्ट JVM मेरे सिस्टम में "C: \ Program Files
    (x86) \ Java \ jre7" में स्थापित है
  2. मैन्युअल रूप से स्थापित JVM "C: \ Program Files \ Java \ jre7" में स्थापित हो गया और इस पाट को सिस्टम पथ चर में अद्यतन करने के बाद यह काम किया।

3

धन्यवाद misterfrb , मुझे एहसास हुआ कि एक्लिप्स यह त्रुटि दे रहा था, क्योंकि मैंने अभी ओरेकल 10 जी डेवलपर सूट स्थापित किया था , और यह फ़ोल्डर jvm.dllमें फाइल की तलाश में था C:\DevSuiteHome_1(मैंने डेवलपर सूट के साथ फिर से जेडीके स्थापित करने का विकल्प चुना होगा)।

रास्ते चर से DevSuiteHome लाइनों को हटाने और 64-बिट के लिए सुधार स्थान को जोड़ने के बाद jvm.dll(सुनिश्चित करें कि यदि यह आवश्यक था, तो इसके बिना प्रयास नहीं किया गया था), एक्लिप्स ने फिर से काम किया, और डेवलपर सूट अभी भी करता है।


3

सरल, मेरे पास 64-बिट OS, 32-बिट ग्रहण और JDK 32 और 64 दोनों स्थापित हैं ... मैंने अभी 64-बिट JDK की स्थापना रद्द की है और ग्रहण ठीक काम कर रहा है।


3

मेरे पास जावा 6 से जावा 7 में अपग्रेड करने के बाद एक ही मुद्दा था। जावा 6 (64 बिट) को हटाने के बाद और जावा 7 (64 बिट) को फिर से इंस्टॉल किया गया, ग्रहण ने काम किया। :)


3

यह -vm पैरामीटर जोड़ने के लिए महत्वपूर्ण है और इसका मान 2 लाइनों पर है।

-vm C: \ Program Files \ Java \ jdk1.7.0_45 \ bin \ javaw.exe


3

मैं इस त्रुटि के लिए एक और समाधान प्रस्तुत करना चाहता हूं, विशेष रूप से जो एक प्रणाली में 32-बिट और 64-बिट ग्रहण का उपयोग करना चाहते हैं।

jreयदि यह मौजूद है तो ग्रहण JRE / JDK का उपयोग कर स्टार्टअप करेगा । (एसटीएस या अन्य ग्रहण आधारित आईडीई भी इस सुविधा का समर्थन करते हैं ...)

समाधान निर्देशिका जंक्शन का उपयोग कर बना है mklink.exeजो विंडोज़ विस्टा या नए संस्करण में मौजूद है ( junction.exe विंडोज 2000 / XP के लिए समान फ़ंक्शन प्रदान करता है)
कमांड लाइन की खिड़कियां खोलें और कमांड का पालन करें।

mklink / j "$ ECLIPSE-HOME / jre" "$ JDK_or_JRE_ome"

बेशक, यदि ग्रहण 64-बिट विंडोज के लिए है, तो आर्किटेक्चर का JDK/JREसमान होना चाहिए।

मान लीजिये:

  • Eclipse for windows x86_64d: \ devTool \ e ग्रहण में स्थापित है
  • JDK for windows x64में स्थापित किया गया है C: \ Program Files \ जावा \ jdk1.8.0

jreफोल्डर बनाने का कमांड होगा:

mklink / j "d: \ devTool \ eclipse \ jre" "C: \ Program Files \ Java \ jdk1.8.0"

BTW, डिलीट डायरेक्टरी जंक्शन किसी भी फाइल को डिलीट नहीं करेगा । यदि आप एक गलत लिंक बनाते हैं, तो आप फ़ाइल एक्सप्लोरर या rmdirकमांड का उपयोग करके इसे हटा सकते हैं ।

rmdir "d: \ devTool \ eclipse \ jre"



2

यदि आप पूरे 64-बिट तिकड़ी का उपयोग करते हैं और यह अभी भी काम नहीं करता है (मैं Intellij Idea में एंड्रॉइड मॉनिटर लॉन्च करते समय इस समस्या पर आया हूं), तो शायद गलत jvm.dll का उपयोग आपके java की अपेक्षा के विपरीत किया जा रहा है। बस इन चरणों का पालन करें:

  1. अपनी JRE निर्देशिका में jvm.dll खोजें: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. अपनी JDK निर्देशिका में jvm.dll खोजें: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. jvm.dllJRE डाइरेक्टरी से JDK निर्देशिका में कॉपी करें और JDK में jvm.dll को अधिलेखित करें।

केवल मामले में, एक बैकअप बनाने के लिए मत भूलना। जावा से संबंधित किसी भी चीज को इंस्टॉल या अनइंस्टॉल करने की जरूरत नहीं है।


2

मेरे साथ भी ऐसा ही हुआ। मेरे पास 64-बिट ग्रहण था, लेकिन मेरा जेडीके 32-बिट था। इसलिए मैंने 64-बिट संस्करण स्थापित किया और यह अभी ठीक है।


2

मुझे यकीन नहीं है कि क्यों, लेकिन मुझे मेरे विंडोज \ system32 निर्देशिका के अंदर मेरे c: \ windows निर्देशिका और java.exe और javaw.exe में स्थापित किया गया था।

जाहिर है कि इन निर्देशिकाओं को प्राथमिकता मिल रही थी, यहाँ तक कि मेरे eclipse.ini फ़ाइल में -vm फ्लैग को जोड़ना।

मेरे लिए इस मुद्दे को यहाँ से हटा दें।



1

ग्रहण के डाउनलोड पृष्ठ पर, इसे "JRE 32 बिट्स" या "JRE 64 बिट्स" लिखा जाना चाहिए न कि "विंडोज 32 बिट्स" या "विंडोज 64 बिट्स"।

अपने JDE के साथ संगत सही संस्करण का उपयोग करना सुनिश्चित करें, जैसा कि पहले बताया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.