it-swarm.asia

أخفق تحميل مكتبة JNI المشتركة (JDK)

عندما أحاول فتح Eclipse ، ينص مربع حوار منبثق على:

فشل تحميل مكتبة JNI المشتركة "C: /JDK/bin/client/jvm.dll".

بعد هذا ، يغلق قوة الكسوف.

إليك بعض النقاط التي أود توضيحها:

  • راجعت لمعرفة ما إذا كان أي شيء موجود في هذا المسار. إنه موجود بالفعل.
  • كلا Eclipse و Java SE Development Kit كلاهما 64 بت. راجعت نظامي ، ويمكنه التعامل مع 64 بت.
  • لقد بحثت عن هذه المشكلة على Google وعلى Stack Overflow ، وكان الجواب الوحيد الذي وجدته هو تنزيل إصدارات 32 بت من JDK و Eclipse.

تنزيل الإصدارات 32 بت هو شيء أريد فقط أن أفعله كملاذ أخير للغاية.
ما الذي يمكن اقتراحه لحل هذه المشكلة؟

895
Mxyk

تحتاج إلى 64 بت الثلاثي:

  • نظام تشغيل 64 بت
  • 64 بت جافا
  • 64 بت الكسوف
826
Peter Rader

إقران العمل من OS ، JDK و Eclipse:


  • نظام تشغيل 32 بت - 32 بت JDK - كسوف 32 بت (32 بت فقط)
  • نظام تشغيل 64 بت - 32 بت JDK - كسوف 32 بت
  • نظام تشغيل 64 بت - 64 بت JDK - 64 بت الكسوف (64 بت فقط)

كان لدي العديد من JDKs و JREs مثبتة.

كان لكل منهم إدخاله الخاص في متغير PATH ، وكان كل شيء يعمل أكثر أو أقل.

انطلاقا من متغيرات PATH ، كانت بعض المنشآت عديمة الفائدة تماما ، لأنها لم تستخدم قط. بالطبع ، يمكن الرجوع إلى Javas "غير النشطة" يدويًا من داخل Eclipse إذا كنت بحاجة ، لكنني لم أفعل ذلك مطلقًا ، لذلك لم أكن بحاجة إليها. (على الأقل اعتقدت ذلك في ذلك الوقت ...)

قمت بتنظيف الفوضى وإلغاء تثبيت جميع برامج Java الحالية وتثبيت JDK + JRE 1.7 64 بت فقط.

أخفقت إحدى عمليات التثبيت في Eclipse بعد ذلك مع Failed to Load the JNI shared Library ومسار محدد بالنسبة إلى JDK المثبت حديثًا حيث اعتقدت أن jvm.dll.

كان الكسوف الفاشل هو الوحيد من بين معرفات IDE الخاصة بي التي كانت لا تزال إصدار 32 بت على إعداد 64 بت الخاص بي.

لم تعد إضافة VM الوسيطات ، كما ذكرنا كثيرًا ، في Eclipse.ini مفيدة في حالتي (لأنه كان لديّ فقط JDK/JRE الخطأ المتعلق بـ.)

لم أتمكن أيضًا من معرفة كيفية التحقق مما إذا كان Eclipse إصدار 32 بت أو 64 بت (لم أستطع البحث عنه في Task Manager ، نظرًا لأن "تثبيت" Eclipse لن يبدأ. وبما أن الوقت قد مضى منذ أن قمت بإعداده ، لم أستطع تذكر نسخته أيضًا.)

في حال كنت تستخدم JDK أحدث وأقدم JRE قد تكون في مأزق أيضًا ، ولكن بعد ذلك ، على الأرجح ، يظهر Java.lang.UnsupportedClassVersionError ، IIRC .

302
sjas

تأكد من أن ملف Eclipse.ini يتضمن الأسطر التالية.

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

My 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

استخدام نظام التشغيل و Eclipse كلا 64 بت أو كلاهما 32 بت الحفاظ على نفسه والتكوين Eclipse.ini .

يمكن العثور على ملف Eclipse.ini في مجلد Eclipse.

256
jayesh kavathiya

كان لدي نفس المشكلة

أنا حلها عن طريق تثبيت 64 بت JVM من

http://www.Java.com/ar/download/manual.jsp

58
Farm

يعني هذا الخطأ أن بنية Eclipse لا تتطابق مع بنية وقت تشغيل Java ، أي إذا كان أحدهما 32 بت ، يجب أن يكون الآخر هو نفسه ، وليس 64 بت.

الإصلاح الأكثر موثوقية هو تحديد موقع JVM في Eclipse.ini:

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

مهم: يجب أن يأتي هذان الخطان قبل فرامغس. لا تستخدم علامات الاقتباس ؛ يسمح للمساحات.

38
Peter Tseng

خيار آخر هو:

إنشاء اختصار إلى Eclipse.exe. افتح الاختصار وقم بتغيير الهدف إلى:

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

للتثبيت ، تأكد من أن المواقع تشير إلى دليل التثبيت الصحيح Eclipse ودليل التثبيت الصحيح javaw.exe.

(يجب أن تكون إصدارات 64/32 بت من Eclipse و Java هي نفسها ، بالطبع.)

33
spannow

لدي إصدارات متعددة من Java مثبتة ، كل من Sun JDK & JRockit ، 32 بت و 64 بت ، وما إلى ذلك ، وقد واجهت هذه المشكلة مع تثبيت جديد لـ 64 بت Eclipse for Java EE (JUNO).

ماذالاالعمل:

الثلاثي 64 بت كما اقترح بيتر رادر:

أستخدم Eclipse 64 بت على نظام تشغيل 64 بت (Windows 7).

لقد تأكدت من أن إصدار JD JD 7 64 بت هو إصدار Java الافتراضي. عندما كتبت "Java -version" من سطر الأوامر (cmd.exe) ، تم إرجاع Sun JDK 7 64-bit ...

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)

هذا لم يحل المشكلة بالنسبة لي.

ماذافعلتالعمل:

إضافة خيار -vm إلى Eclipse.ini كما اقترح Jayesh Kavathiya:

أضفت ما يلي إلى Eclipse.ini:

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

ملحوظة:

لم أضطر إلى إزالة تثبيت أي من الإصدارات المختلفة من JDK أو JRE لدي على الجهاز.

30
Sunny Sarkar

لملف jvm.dll مفقود ، يمكننا توفير مسار ملف dll في ملف Eclipse.ini كـ

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

من المهم هنا إزالة أي مساحة في المسار والاقتباسات المزدوجة. عملت بالنسبة لي عندما أزلت علامات الاقتباس والفضاء.

وآمل أن يساعد شخص ما.

18
Stalin Gino

كان لدي مشكلة مماثلة. تم حلها القيام بما يلي.

  • انقل Eclipse إلى ملفات البرنامج (وليس إلى ملفات البرنامج (x86) ).
  • أزل المسار إلى الإصدار 32 بت من Java من متغير البيئة 'path'.

لديّ كلا الإصدارين من Java مثبتين ، لكن Eclipse استمر في محاولة استخدام الإصدار 32 بت.

11
misterfrb

بالتأكيد ، يجب أن يكون لديك إصدار متوافق من JDK و Eclipse ، لكنك بحاجة أيضًا إلى إضافة الأسطر أدناه في ملف Eclipse.ini:

-vm
yourdrive\Java\bin

اجعلهم أول سطرين من ملف Eclipse.ini الخاص بك.

10
Deepak Tyagi

كما أشار الكثير من الناس بالفعل ، هذه مشكلة 32 مقابل 64 بت لكل Eclipse و Java . لا يمكنك خلط 32 و 64 بت. نظرًا لأن Eclipse لا يستخدم Java_HOME ، فمن المحتمل أن تضطر إلى تغيير PATH قبل تشغيل Eclipse للتأكد من أنك تستخدم ليس فقط الإصدار المناسب من Java ، ولكن أيضًا إذا كان 32 أو 64 بت (أو تعديل INI الملف كما لاحظ جياث).

إذا كنت تقوم بتثبيت Eclipse من مشاركة شركة ، فيجب عليك التأكد من معرفة إصدار Eclipse الذي تقوم بفك ضغطه ، وفك الضغط إلى ملفات البرنامج الدليل للمساعدة في تتبع أي منها ، ثم تغيير PATH (إما بشكل دائم عبر لوحة التحكم في نظام التشغيل Windows) -> النظام أو تعيين PATH=/path/to/32 or 64bit/Java/bin;%PATH% (ربما يمكنك إنشاء ملف دفعي إذا كنت لا ترغب في ضبطه في النظام و/أو متغيرات بيئة المستخدم الخاصة بك). تذكر أن 32 بت في ملفات البرنامج (x86) .

إذا لم تكن متأكدًا ، فما عليك سوى تشغيل Eclipse ، إذا حصلت على الخطأ ، فقم بتغيير مسار PATH الخاص بك إلى الإصدار "bit" الآخر من Java ، ثم أعد المحاولة. ثم انقل دليل Eclipse إلى الملف المناسب Program Files الدليل.

8
Marc Towersap

بدلاً من ذلك ، احصل على نفس الإصدار "bit" من JRE و Eclipse ، ثم أنشئ اختصارًا جديدًا بالهدف أدناه (استبدل موقع/مسار JRE و Eclipse المثبت):

"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

الذي عليه أن يقوم بالخدعة.

7
Kevin Yap

يمكنك حل هذه المشكلة مثل العديد من غيرها تكرارها. تحتاج إلى ذلك الكسوف و JDK أن يكون 32 بت أو كليهما على 64 بت . لا تهم بنية نظام التشغيل بينما يظل الآخرون على نفس النوع من الهندسة المعمارية.

7
Ignacio

أجابتني الإجابات التي علقتني كثيرًا ، لدرجة أنني قررت أن أجف كل المجموعات الممكنة مع نظام التشغيل ، الكسوف و JVM الثلاثي. على أي حال ، من يقوم بالبحث في المنشور وقراءته ، تحقق مما يلي كنقطة ساخنة (أنا مستخدم Windows 7).

  1. أنت تفهم ملفات البرنامج و ملف البرنامج (x86) ملفان مختلفان ... x86 يرمز إلى الإصدار 32 بت من البرامج والأولى هي نسخة 64 بت.

  2. إذا كان لديك إصدارات متعددة من Java مثبتة مع إصدارات مختلفة للإصدار التجريبي والإصدار ، وهو أمر لا بد أن يحدث مع العديد من المصادر المفتوحة IDEs ، المديرين ، وحدات التحكم الإدارية ، فإن الخيار الأفضل هو ضبط VM وسيطة مباشرة في ملف Eclipse.ini. إذا لم تفعل ذلك ، فسيصيب Eclipse بالجنون وسيحاول البحث عن نفسه وهو أمر غير جيد.

6
sayannayas

إحدى الطرق السهلة لحلها هي نسخ المجلد jre من تثبيت JDK إلى مجلد تثبيت Eclipse. تأكد من أن JDK الذي تنسخ منه هو نفس بنية تثبيت Eclipse.

اضطررت إلى تهيئة الجهاز الخاص بي بهذه الطريقة ، لأنني أقوم بتشغيل كل من Eclipse و Appcelerator Titanium Studio على الجهاز. يحتاج الاستوديو إلى Java 32 بت ، بينما يحتاج Eclipse إلى 64 بت.

6
Mike Starov

فقط تحقق من متغير بيئة PATH. في جهاز الكمبيوتر الخاص بي -> الخصائص -> النظام المتقدم الإعدادات -> متغيرات البيئة -> (الإطار العلوي الأيسر "متغيرات المستخدم لـ" بعض أسماء أجهزة الكمبيوتر "") فقط تحقق متغير PATH. إذا لم يكن موجودًا ، فقم بإنشائه باستخدام ما يلي -> C:\Program Files (x86)\Java\jre7\bin <-

لقد واجهت نفس المشكلة بعد تحديث الكسوف الخاص بي. لقد وجدت أن المسار طلب إصدار 64 بت ، لكنني حصلت على المسار 32 بت في المسار. كان من المفيد بالنسبة لي. ملاحظة: لدي نظام تشغيل 64 بت و 32 بت JRE و 32 بت الكسوف. كل شيء يعمل بشكل جيد :)

5
user1600401

نعم ، فقط تأكد من أن إصدارات Eclipse و JDK كلاهما 64 بت. فقط للتأكد من أن كل شيء صحيح تم إلغاء تثبيت JDK وتثبيته في ملفات البرنامج وليس في ملفات البرنامج (x86) . على الأقل هذا حل مشكلتي.

5
Jeena

يجب عليك إزالة تثبيت جميع [JREs] [1] القديمة ، ثم تثبيت أحدث إصدار ... واجهتني المشكلة نفسها والآن أعمل على حلها. لقد قمت:

أفضل تثبيت Jre 6 32 بت. انها حقا تعمل.

5
Marcin Erbel

واجهت نفس المشكلة بعد الترقية من Java 6 إلى Java 7. بعد إزالة Java 6 (64 بت) وإعادة تثبيت Java 7 (64 بت) ، عملت Eclipse. :)

4
Supun Sameera

شكرًا misterfrb ، أدركت أن Eclipse كان يعطي هذا الخطأ ، لأنني قمت للتو بتثبيت Oracle 10g Developer suite ، وكان يبحث عن ملف jvm.dll في مجلد C:\DevSuiteHome_1 (يجب أن يكون اختياري لتثبيت JDK مرة أخرى مع مجموعة المطور).

بعد إزالة خطوط DevSuiteHome من متغير المسارات وإضافة موقع التصحيح لـ jvm.dll ٦٤ بت (لست متأكداً مما إذا كان هذا ضروريًا ، لم تجرب بدون) ، عملت Eclipse مرة أخرى ، ولا تزال مجموعة Developer تعمل أيضًا.

4
Unegma

تم تنزيل JVM 64 بت من الموقع وتثبيته يدويًا وتحديث متغير مسار النظام. هذا حل المشكلة.

  1. تم تثبيت JVM الافتراضي في نظامي في "C:\Program Files
    (x86) و\جافا jre7\"
  2. تم تثبيت JVM المثبت يدويًا في "C:\Program Files\Java\jre7" وبعد تحديث هذا pate لمتغير مسار النظام ، كان يعمل.
4
Satya

بسيط ، لدي نظام تشغيل 64 بت و 32 بت Eclipse وكلا JDK 32 و 64 مثبتان ... لقد قمت فقط بإلغاء تثبيت JDK 64 بت و Eclipse يعمل بشكل جيد.

4
PushkarHJoshi

أريد منع حل آخر لهذا الخطأ ، خاصةً لمن يريد استخدام الكسوف 32 بت و 64 بت في نظام واحد.

سيتم بدء تشغيل Eclipse باستخدام JRE/JDK في الدليل الفرعي jre إذا كان موجودًا. (STS أو غيرها من Eclipse تعتمد IDE تدعم أيضًا هذه الميزة ...)

الحل هو إنشاء تقاطع الدليل باستخدام أمر mklink.exe الموجود في نظام التشغيل Windows Vista أو إصدار أحدث ( junction.exe تقديم وظيفة مماثلة لنظام التشغيل Windows 2000/XP)
افتح نوافذ سطر الأوامر وقم بتنبيه الأمر التالي:

mklink/j "$ Eclipse-HOME/jre" "$ JDK_or_JRE_home"

بالطبع ، إذا كانت Eclipse مخصصة لنظام التشغيل Windows 64 بت ، فيجب أن تكون هندسة JDK/JRE هي نفسها.

افترض:

  • Eclipse for windows x86_64 مثبت في d:\devTool\Eclipse
  • JDK for windows x64 مثبت في C:\Program Files\Java\jdk1.8.0

سيكون الأمر لإنشاء المجلد jre:

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

راجع للشغل ، وحذف تقاطع الدليل سوفلاحذف أي ملف. إذا أنشأت رابطًا خاطئًا ، يمكنك حذفه باستخدام أمر Explorer أو rmdir file.

rmdir "d:\devTool\Eclipse\jre"

3
Beck Yang

من الضروري إضافة المعلمة -vm وقيمتها في سطرين AT بداية Eclipse.ini

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

3
Rolf

تأكد من بدء تشغيل Eclipse بحقوق المسؤول.

3
Here to Help

لقد قمت بتغيير الإصدار الصحيح من Java_HOME و PATH في المتغيرات البيئية.

2
Sreedhar GS

في صفحة التنزيل الخاصة بـ Eclipse ، يجب أن يكون مكتوبًا "JRE 32 bits" أو "JRE 64 bits" وليس "Windows 32 bits" أو "Windows 64 bits".

تأكد من استخدام الإصدار الصحيح المتوافق مع JDE ، كما تمت الإجابة مسبقًا.

2
A_rnO

يمكنك تثبيت الإصدار 32 بت من JDK على جهاز 64 بت. راجعتنزيلات JDK 7.

2
Rahul Raghuvanshi

إذا كنت تستخدم ثلاثي 64 بت بالكامل ولا يزال لا يعمل (جئت إلى هذه المشكلة أثناء إطلاق Android Monitor في Intellij Idea) ، فمن المحتمل أن jvm.dll خاطئ يتم استخدامه على عكس ما تتوقعه جافا. فقط اتبع هذه الخطوات:

  1. ابحث عن jvm.dll في دليل JRE الخاص بك: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. ابحث عن jvm.dll في دليل JDK الخاص بك: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. انسخ jvm.dll من JRE drectory إلى دليل JDK الخاص بك وقم بالكتابة فوق jvm.dll في JDK.

لا تنس عمل نسخة احتياطية ، فقط في حالة. لا حاجة لتثبيت أو إزالة أي شيء متعلق بجافا.

2
rootpd

حدث نفس الشيء بالنسبة لي. كان لدي كسوف 64 بت ، لكن JDK كان 32 بت. لذلك قمت بتثبيت الإصدار 64 بت وهو موافق الآن.

2
felipe.zkn

لست متأكدًا من السبب ولكن تم تثبيت jre في دليل c:\windows و Java.exe و javaw.exe داخل دليل windows\system32 الخاص بي.

من الواضح أن هذه الدلائل كانت تحصل على أولوية حتى بعد إضافة علامة -vm إلى ملف Eclipse.ini.

حذفها من هنا إصلاح المشكلة بالنسبة لي.

2
Guy Lowe

وللحصول على PDT users - تجنب the صفحة تنزيل Zend - ليس لديها أي تنزيلات 64 بت مرتبطة.

استخدم موقع Elipse نفسه .

كان الرابط أعلاه 3.6 Eclipse أقدم والذي فشل بعد ذلك في تحديث نفسه بسبب Eclipse Bug # 317785 .

كان الحل الخاص بي هو مجرد تثبيت Java 32 بت إلى جانب 64 بت - وهذا سمح لـ Zend المثبت بالعمل.

إنه أمر محبط أن كمية الجافا/الكسوف يجب على المرء أن يذهب للحصول على PHP IDE.

2
cloakedninjas

في حالتي ، حاولت تشغيل Java من موجه الأوامر وحصلت على هذا الخطأ

خطأ: تعذر فتح "C:\Windows\jre\lib\AMD64\jvm.cfg"

يعني أنه تم البحث عن "Java" في PATH بدءًا من هذا الدليل الخاطئ. حذف المجلد C:\Windows\jre\حل المشكلة

1
Federico Giorgi

لقد واجهت كل أخطاء الكسوف وهذا واحد منهم. المشكلة هي الإصدار 64 بت Eclipse. قم بتنزيل الإصدار 32 بت وتشغيله.

0
sadegh saati

الحل الأسهل هو تضمين JRE محددة في Eclipse.ini:

wiki.Eclipse.org/Eclipse.ini

مع هذا ، يمكنك بدء أي إصدار Eclipse تقريبًا

0
keesp

كان لي نفس المشكلة. مع نظام التشغيل 64bit يجب أن يكون كل 64bit. جافا وكسوف. حاولت جميع الأساليب في stackoverflow وكذلك في يوتيوب. غير منهم عملت بالنسبة لي حتى وجدت هذه الطريقة السهلة.

لقد قمت بتثبيت 64bit Java شكل تنزيل Cnet وتم حل المشكلة تلقائيًا. ذكرت المصدر لأنه من السهل جدًا استخدام google والانتقال إلى أول موقع Cnet بدلاً من الموقع الرسمي إذا كنت نحلة جديدة.

ملاحظة إذا كان لديك حزمة Android ADT وحاولت فتح Eclipse منه وحصلت على نفس الخطأ ، يمكنك حل هذه المشكلة أيضًا مع هذه الطريقة.

0
Priyankara

هذا الخطأ الذي نتلقاه بسبب إصدار جافا مختلف تنزيل إصدار 32 بت.

0
vaquar khan

تثبيت JDK 1.8._91 (الوضع المختلط) هو حل آخر لهذا!

0
HaryTD