Не удалось загрузить общую библиотеку 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

Обычно это происходит, если между установленными версиями JDK и Eclipse установлено несоответствие между 32 и 64 битами!

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


Я использую 64-битную Windows, 32-битную JDK и скачал 64-битную версию Eclipse. Теперь с 32-битным Eclipse он работает лучше, спасибо.
Джонас

@Jonas - я удалил ошибочные предположения об установленных версиях, спасибо за указание на это, указав ваши настройки.
Штеффен Опель

3

Я установил JDK и Eclipse 64-битные версии, но у меня была та же проблема ...

Наконец я обнаружил, что моя %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, проверьте наличие javaw.exe для 64-разрядной версии.

В моем случае это было в 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. Я обнаружил, что в файле eclipse.ini отсутствует путь JDK.

Поэтому я добавил следующие строки в файл 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. Скачал и установил jdk7.1 32-битный. Файл jvm.dll будет находиться по следующему пути: «C: \ Program Files (x86) \ Java \ jdk1.7.0_75 \ jre \ bin \ client»

Надеюсь, что это работает.


0

Чтобы уточнить ответ Штеффена Опеля, происходит несоответствие между JVM, указанной в файле eclipse.ini, и JVM, обнаруженной и запущенной в результате записей в переменной среды пути Windows. Поэтому, чтобы решить проблему, убедитесь, что они оба ссылаются на одну и ту же JVM.

Чтобы устранить эту проблему, выполните следующие действия:

1. Измените конфигурацию Eclipse, чтобы она запускалась с требуемой версией JVM
Откройте eclipse.ini и измените строку ниже на версию Java, которую вы хотите использовать, например:

-Dosgi.requiredJavaVersion=1.5

2. Убедитесь, что Eclipse может получить доступ к JVM, для которой требуется
Перейти к панели управления -> Изменить переменные среды системы -> Путь.
    a) Убедитесь, что здесь есть запись для вашей Java.
    b) Убедитесь, что эта запись находится выше (или раньше), чем любые другие пути Java в вашей записи @path.

Надеюсь, это должно решить проблему для вас.


0

Несмотря на то, что это старый вопрос, я подумал добавить немного более актуальной информации к ответу «Принято» от @Steffen Opel.

В 64-разрядной ОС Windows можно установить любое количество версий 32-разрядных JDK и 64-разрядных JDK. Также возможно установить 32-битный Eclipse и 64-битный Eclipse на одном компьютере. Но для запуска одной из этих версий Eclipse, связанных с платформой (в случае OP-64-битного Eclipse ), на машине должны быть настроены соответствующие « переменные среды », настроенные для JDK. Это может быть сделано (должно быть сделано) без изменения файла eclipse.ini .

Переменные среды

Чтобы запустить java без указания полного пути, необходимо добавить местоположение файла для java.exe в PATHпеременную окружения. А также для некоторых других сторонних утилит, JAVA_HOMEпеременная окружения также требуется.

Обычно Java-разработчикам всегда нужно устанавливать JDK (JRE входит в JDK). И PATHустановлен в папку « bin » в папке установки JDK (в случае OPs C: \ Program Files \ Java \ jdk1.6.0_40 \ bin ), а JAVA_HOMEв папку установки JDK (в случае OPs C: \ Program Files \ Java \ jdk1.6.0_40 ).

Здесь OP имеет только 32-битный JDK, но пытается использовать 64-битный Eclipse. Поэтому для решения проблемы OP необходимо установить 64-битный JDK. И измените JAVA_HOME& PATH« Переменные среды », чтобы соответствовать этому месту установки.

Вот более полные шаги:

  • Загрузите и установите 64-разрядную версию JDKx.x.x_xx
  • Затем откройте проводник Windows, щелкните правой кнопкой мыши значок компьютера и выберите

    Свойства -> Расширенные настройки системы .
    Он откроет Свойства системы окна, и в « Advanced вкладке» выберите « Переменные окружения » , чтобы открыть окно редактирования.

  • В разделе системных переменных найдите JAVA_HOMEимя переменной и нажмите кнопку « Изменить » в нижней части, если она недоступна, нажмите « Создать » и введите C: \ Program Files \ Java \ jdk1.6.0_40 и нажмите кнопку «ОК».

  • Затем выберите PATHпеременную, нажмите « Изменить » и добавьте %JAVA_HOME%\bin; вперед или %JAVA_HOME%\binв конец существующей строки. НЕ перезаписывайте существующую строку и нажмите OK -> OK -> OK для завершения.

Теперь 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.