Не удалось загрузить общую библиотеку JNI (JDK) - PullRequest
901 голосов
/ 08 сентября 2011

Когда я пытаюсь открыть Eclipse , всплывающее диалоговое окно сообщает:

Не удалось загрузить общую библиотеку JNI "C: / JDK / bin / client / jvm.dll "`.

После этого сила Затмения закрывается.

Вот несколько моментов, которые я хотел бы сделать:

  • Я проверил, чтобы увидетьесли что-то существует на этом пути.Это существует.
  • My Eclipse и Java SE Development Kit оба являются 64-разрядными.Я проверил свою систему, и она может обрабатывать 64-разрядные.
  • Я искал эту проблему в Google и в Stack Overflow, и единственный ответ, который я нашел, это загрузить 32-разрядные версии JDK и Eclipse.

Загрузка32-разрядные версии - это то, что я хочу сделать только в крайнем случае.
Что бы предложить для решения этой проблемы?

Ответы [ 38 ]

3 голосов
/ 16 июня 2017

Я хочу превзойти другое решение этой ошибки, особенно для тех, кто хочет использовать 32-битное и 64-битное Eclipse в одной системе.

Eclipse запустится с использованием JRE / JDK в подпрограмме jre-каталог, если он существует.(STS или другая среда IDE на основе затмений также поддерживают эту функцию ...)

Решение заключается в создании соединения каталога с помощью команды mklink.exe, существующей в Windows Vista или более новой версии ( junction.exe предлагает аналогичную функцию для Windows 2000 / XP)
Откройте окна командной строки и выполните следующую команду:

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

Конечно, если Eclipse для 64-битной Windows, архитектура 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"

Кстати, удаление соединения каталога НЕ удалит любой файл.Если вы создали неправильную ссылку, вы можете удалить ее, используя проводник или команду rmdir.

rmdir "d: \ devTool \ eclipse \ jre"

3 голосов
/ 06 ноября 2013

Важно добавить параметр -vm и его значение в 2 строки В НАЧАЛЕ eclipse.ini

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

3 голосов
/ 25 января 2013

Просто, у меня 64-битная ОС, 32-битная Eclipse и оба JDK 32 и 64 установлены ... Я только что удалил 64-битный JDK и Eclipse работает нормально ..

3 голосов
/ 27 марта 2013

У меня возникла та же проблема после обновления с Java 6 до Java 7. После того, как я удалил Java 6 (64-разрядная версия) и переустановил Java 7 (64-разрядная версия), Eclipse работал.:)

2 голосов
/ 04 апреля 2014

Я не уверен, почему, но у меня были установлены jre в мой каталог c: \ windows, а java.exe и javaw.exe в моем каталоге windows \ system32.

Очевидно, что эти каталоги получали приоритет дажеПОСЛЕ добавления флага -vm к моему файлу eclipse.ini.

Удаление их отсюда решило проблему для меня.

2 голосов
/ 18 сентября 2013

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

2 голосов
/ 27 февраля 2013

Если вы используете целое 64-битное трио, и оно все еще не работает (я столкнулся с этой проблемой при запуске Android Monitor в Intellij Idea), вероятно, используется неверный файл jvm.dll, в отличие от того, что ожидает ваш java.Просто выполните следующие действия:

  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 в каталог JDK и перезапишите jvm.dll в JDK.

Не забудьте сделать резервную копию, на всякий случай.Нет необходимости устанавливать или удалять что-либо, связанное с Java.

2 голосов
/ 11 сентября 2014

Вы изменили правильную версию JAVA_HOME и PATH в переменных среды.

2 голосов
/ 11 ноября 2012

Убедитесь, что вы запускаете Eclipse с правами администратора.

1 голос
/ 27 октября 2012

На странице загрузки Eclipse должно быть написано «JRE 32 бит» или «JRE 64 бит», а не «Windows 32 бит» или «Windows 64 бит».

Обязательно используйтеправильная версия, совместимая с вашим JDE, как было сказано ранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...