Помилка завантаження спільної бібліотеки JNI під час запуску Eclipse


27

Я завантажив останню версію Eclipse, але не можу її запустити.

Повідомлення про помилку, яке я отримую:

Не вдалося завантажити бібліотеку спільного використання JNI "C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ bin .. \ jre \ bin \ client \ jvm.dll".

Як це виправити?

Я використовую 64-розрядну Windows, 32-розрядний JDK та завантажив 64-розрядний Eclipse.


Це дивно. Jvm.dll має бути в C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ jre \ bin \ client \ jvm.dll, а не в C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ bin \ ...
AndrejaKo

Відповіді:


34

Зазвичай це відбувається, якщо у вас встановлено невідповідність між 32 та 64 бітами між встановленими версіями JDK та Eclipse!

Ваша версія Eclipse намагається отримати доступ до 32-розрядного JDK (як зазначено в C: \ Program Files (x86) ), але або не вдається, оскільки Eclipse очікує 64-бітний JDK або тому, що 32-бітний JDK відсутній - отже вам потрібно переконатися, що відповідність версій Eclipse та JDK трохи розумна відповідно.


Я використовую 64-бітну Windows, 32-бітну JDK та завантажений 64-бітний Eclipse. Тепер із 32-бітовим Eclipse він працює краще, дякую.
Йонас

@Jonas - я видалив помилкові припущення щодо встановлених версій, дякую, що вказав на це, вказавши вашу установку.
Steffen Opel

3

У мене було встановлено 64-розрядні версії JDK та Eclipse, але в мене була однакова проблема ...

Нарешті я виявив, що моя %PATH%системна змінна не включає папку. Не забудьте змінити його у правильну папку, де встановлено ваш JDK \ bin. Працювали для мене.


2
-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/jre/bin
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

використовувати eclipse і os як 64 біт, так і обидва 32 біта


1

У Windows 7 у вас є можливість використовувати символічні посилання як під unix.

Тож із cmd(запустіть як адміністратор) виконайте наступне: mklink /d jdk jdk-versionnr-etcвам не потрібно оновлювати свій шлях JAVA_JOMEпри наступному оновленні Java!


1

У мене був 64-бітний Eclipse та 32-бітний Java, і у мене була така ж проблема. Після встановлення 64-бітної Java та оновлення системного шляху жодних проблем.


1

Якщо ви завантажили 64-бітний Eclipse та 64-розрядний JDK / JRE, перевірте наявність 64-розрядних файлів javaw.exe.

У моєму випадку це було в C:\Program Files\Java\jre6\bin

Я витягнув Eclipse до c:\eclipseпапки; в межах цього eclipse.iniфайлу доступний. Змініть вміст цього файлу наступним:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx700m
-XX:MaxPermSize=690M

Залиште новий рядок між прапорцем -vm та значенням. Це працювало для мене.


Спасибі. Все, що я зробив, було скопіювати рядок "-vm C: \ Program Files \ Java \ jre6 \ bin \ javaw.exe", а все інше я залишив так само.
Stopher87

0

Я стикався з тією ж проблемою, хоча у мене були 64-розрядні версії JDK і Eclipse. Я дізнався, що шлях у JDK відсутній у eclipse.ini.

Тому я додав наступні рядки у файл eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>

Це вирішило проблему! :-)



0

1.Установіть доступний jdk7.1 (Це було 64 біт) 2. Завантажено та встановлено 32-бітний jdk7.1. Jvm.dll буде знаходитись у наступному шляху: "C: \ Program Files (x86) \ Java \ jdk1.7.0_75 \ jre \ bin \ client"

Сподіваюся, це спрацює.


0

Щоб уточнити відповідь Steffen Opel, виникає невідповідність між JVM, вказаним у файлі eclipse.ini, та JVM, що виникає та запускається в результаті записів у вашій змінній середовища Windows. Отже, щоб вирішити проблему, переконайтеся, що вони обоє посилаються на один і той же спільний проект.

Щоб вирішити цю проблему, виконайте такі дії:

1. Змініть конфігурацію Eclipse, щоб вона запускалася з бажаною версією JVM
Open eclipse.ini та змініть рядок нижче на версію java, яку ви хочете використовувати, наприклад:

-Dosgi.requiredJavaVersion=1.5

2. Переконайтесь, що Eclipse може отримати доступ до JVM. Потрібна
панель керування Goto -> Редагувати змінні системного середовища -> Шлях.
    a) Переконайтеся, що тут існує запис для вашого Java
    b) Переконайтеся, що цей запис знаходиться вище (або раніше), ніж будь-який інший шлях до Java у вашому записі @path.

Сподіваємось, це повинно вирішити проблему для вас.


0

Хоча це давнє питання, я подумав додати ще якусь релевантну інформацію до прийнятої відповіді, наданої @Steffen Opel.

В 64-бітну ОС Windows можна встановити будь-яку кількість версій 32-розрядних JDK та 64-бітних JDK. Також можна встановити 32-бітний Eclipse і 64-розрядний Eclipse в той же комп'ютер. Але для запуску однієї з таких платформних версій Eclipse (у випадку OPs 64-розрядна версія Eclipse ) машина повинна мати відповідні " змінні середовища ", налаштовані для JDK. Це можна зробити (слід зробити), не змінюючи файл eclipse.ini .

Змінні середовища

Для запуску Java без повного шляху потрібно додати розташування файлу для java.exe до PATHзмінної середовища. А також для інших сторонніх утиліт JAVA_HOMEтакож потрібна змінна середовище.

Зазвичай розробникам Java завжди потрібно встановити JDK (JRE включений у JDK). І PATHвстановлюється у папку " bin " у папці установки JDK (у випадку з ОП) : програмні файли \ Java \ jdk1.6.0_40 \ bin ), в той час як JAVA_HOMEвона встановлена ​​у папці інсталяції JDK (у випадку з ОП : C: \ Program Files \ Java \ jdk1.6.0_40 ).

Тут OP має лише 32-бітний JDK, але намагається використовувати 64-бітний Eclipse. Тому для вирішення проблеми ОП потрібно встановити 64-бітний JDK. І змініть JAVA_HOME& PATH" Змінні середовища ", щоб відповідати цьому місці установки.

Ось більш повні кроки:

  • Завантажте та встановіть 64-розрядний JDKx.x.x_xx
  • Потім відкрийте Провідник Windows, клацніть правою кнопкою миші на піктограму Комп'ютер і виберіть

    Властивості -> Розширені налаштування системи .
    Це відкриє вікно Властивості системи , і на вкладці " Додатково " виберіть " Змінні середовища ", щоб відкрити вікно редагування.

  • У розділі Системні змінні знайдіть JAVA_HOMEім'я змінної та натисніть кнопку « Змінити » в нижньому розділі, якщо немає, натисніть « Створити » та введіть C: \ Program Files \ Java \ jdk1.6.0_40 та натисніть кнопку OK.

  • Потім виберіть PATHзмінну і натисніть « Змінити » та додайте %JAVA_HOME%\bin; спереду або %JAVA_HOME%\binдо кінця існуючої рядок. НЕ переписуйте існуючий рядок і натисніть ОК -> ОК -> ОК, щоб завершити.

Тепер Eclipse буде відкритий без помилки.

Примітка:

  • Якщо комусь потрібно використовувати 32-розрядний Eclipse, шлях JDK за замовчуванням буде C: \ Program Files (x86) \ Java \ jdkx.x.x_xx

  • При зміні PATHзмінних середовища в Windows 10 з'явиться додаткове вікно, як показано на малюнку нижче.

введіть тут опис зображення


0

Я стикався з тим же питанням, але отримав рішення.

Перевірте, чи Eclipse становить 32 або 64 біт, то

  1. Якщо він 32-бітний, то встановіть JAVA_HOME на 32-бітну версію jdk
  2. Якщо Eclipse 64-бітний, то встановіть JAVA_HOME на 64-бітну версію jdk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.