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

7 голосов
/ 29 марта 2012

Как уже упоминали многие, это проблема 32 против 64 бит для Eclipse и Java . Вы не можете смешивать 32 и 64 бит. Поскольку Eclipse не использует JAVA_HOME, вам, вероятно, придется изменить PATH перед запуском Eclipse, чтобы убедиться, что вы используете не только соответствующую версию Java, но также 32- или 64-битную (или измените файл INI как Джаят отметил).

Если вы устанавливаете Eclipse с корпоративного ресурса, вы должны убедиться, что можете сказать, какую версию Eclipse вы распаковываете, и разархивировать в соответствующий каталог Program Files , чтобы отслеживать, какой именно, затем измените PATH (либо постоянно через (Windows) Панель управления -> Система, либо установите PATH=/path/to/32 or 64bit/java/bin;%PATH% (возможно, создайте командный файл, если вы не хотите устанавливать его в своих системных и / или пользовательских переменных среды). Помните, 32 -бит находится в программных файлах (x86) .

Если вы не уверены, просто запустите Eclipse, если вы получите ошибку, измените PATH на другую «битовую» версию Java, а затем повторите попытку. Затем переместите каталог Eclipse в соответствующий каталог Program Files .

6 голосов
/ 07 июня 2012

Вы можете решить эту проблему, как и многие другие.Вам нужно, чтобы Eclipse и JDK были 32-битными или оба на 64-битных .Архитектура ОС не имеет значения, в то время как другие остаются на том же типе архитектуры.

6 голосов
/ 19 апреля 2012

В качестве альтернативы получите ту же «битовую» версию 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

Это должно сработать.

5 голосов
/ 24 января 2013

Ответы выше меня настолько меня соблазнили, что я решил запустить все возможные комбинации с ОС, Eclipse и JVM трио. В любом случае, кто бы ни копался и читал мой пост, отметьте следующее как горячую точку (я пользователь Windows 7).

  1. Вы понимаете Программные файлы и Программный файл (x86) - это две разные папки ... x86 обозначает 32-разрядную версию программы и первая - это 64-битная версия.

  2. Если у вас установлено несколько версий Java с разными версиями битности и выпуска, что неизбежно случится со многими открытыми IDE , менеджерами, административными консолями, лучший вариант - установить аргумент виртуальной машины непосредственно в файле eclipse.ini. Если вы этого не сделаете, Eclipse сойдет с ума и попытается найти себя, что нехорошо.

5 голосов
/ 27 апреля 2012

Один из простых способов ее решения - скопировать папку jre из установленного JDK в папку установки Eclipse. Убедитесь, что JDK, с которого вы копируете, имеет ту же архитектуру, что и ваша установка Eclipse.

Я должен был настроить свою машину таким образом, потому что я запускаю Eclipse и Appcelerator Titanium Studio на своей машине. Студии требуется 32-битная Java, а Eclipse - 64-битная.

4 голосов
/ 14 мая 2012

Да, просто убедитесь, что ваши версии Eclipse и JDK являются 64-битными.Просто чтобы убедиться, что все правильно, удалите JDK и установите его в Program Files , а не в Program Files (x86) .По крайней мере, это решило мою проблему.

4 голосов
/ 22 сентября 2012

Вы должны удалить все старые [JREs] [1], а затем установить самую новую ... У меня была та же проблема, и теперь я ее решаю.У меня:

Лучше установить Jre 6 32 бит.Это действительно работает.

4 голосов
/ 20 сентября 2012

Просто проверьте переменную окружения PATH. В Мой компьютер -> Свойства -> Расширенные настройки системы -> Переменные среды -> (левое верхнее окно «Пользовательские переменные для») какое-то имя ПК "") просто проверьте переменную PATH. Если он не существует, создайте его следующим образом -> C: \ Program Files (x86) \ Java \ jre7 \ bin <- </p>

Я столкнулся с той же проблемой после обновления моего Eclipse. Я обнаружил, что путь запрашивал 64-битную версию, но у меня был 32-битный путь в diff. Это было полезно для меня. П.С .: У меня 64-битная ОС, 32-битная JRE и 32-битная Eclipse. Все отлично работает:)

3 голосов
/ 28 августа 2012

Скачал 64-битную JVM с сайта, установил ее вручную и обновил переменную системного пути.Это решило проблему.

  1. В моей системе установлена ​​JVM по умолчанию, которая находится в "C: \ Program Files
    (x86) \ Java \ jre7"
  2. Установленная вручную JVM установлена ​​в "C:\ Program Files \ Java \ jre7 "и после обновления этой записи в системную переменную пути это сработало.
3 голосов
/ 03 марта 2012

Спасибо misterfrb , я понял, что Eclipse выдает эту ошибку, потому что я только что установил Oracle 10g Developer Suite , и он искал файл jvm.dll вПапка C:\DevSuiteHome_1 (я должен был снова установить JDK вместе с комплектом разработчика).

После удаления строк DevSuiteHome из переменной paths и добавления местоположения коррекции для 64-битного jvm.dll (не уверен, если это было необходимо, не пытался без него), Eclipse снова заработал, и Developer Suite все ещетоже.

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