Когда я пытаюсь открыть Eclipse , всплывающее диалоговое окно гласит:
Не удалось загрузить общую библиотеку JNI "C: /JDK/bin/client/jvm.dll" `.
После этого сила затмения закрывается.
Вот несколько замечаний, которые я хотел бы сделать:
- Я проверил, существует ли что-нибудь на этом пути. Это существует.
- Мой Eclipse и Java SE Development Kit оба являются 64-битными. Я проверил свою систему, и она может обрабатывать 64-разрядные.
- Я искал эту проблему в Google и в Stack Overflow, и единственный ответ, который я нашел, был загрузить 32-битные версии JDK и Eclipse.
Загрузка 32-битных версий - это то, что я хочу сделать только в крайнем случае.
Что будет предложено для решения этой проблемы?
Ответы:
Вам нужно
64-bit
трио:64-bit
Операционные системы64-bit
Ява64-bit
Затмениеисточник
Рабочие пары ОС, JDK и Eclipse:
32-bit
ОС |32-bit
JDK |32-bit
Затмение (только 32-битное )64-bit
ОС |32-bit
JDK |32-bit
Затмение64-bit
ОС |64-bit JDK
|64bit
Затмение (только 64-битное )У меня было установлено несколько JDK и JRE.
У каждого из них была своя запись в переменной PATH, все работало более или менее.
Судя по переменным PATH, некоторые установки были совершенно бесполезны, так как они никогда не использовались. Конечно, на «неактивные» Javas можно было ссылаться вручную из Eclipse, если бы я нуждался, но я этого никогда не делал, поэтому они мне действительно не нужны. (По крайней мере, я так думал в то время ...)
Я убрал беспорядок, удалил все текущие Java, установил только JDK + JRE 1.7 64-bit.
Одна из «установок» Eclipse впоследствии потерпела неудачу с указанным
Failed to Load the JNI shared Library
и заданным путем относительно свежего установленного JDK, где, как он думал, иjvm.dll
находится.Отказавший Eclipse был единственным из всех моих IDE, который все еще был 32-битной версией в моих остальных полностью 64-битных настройках.
Добавление аргументов VM, как это часто упоминалось, в
eclipse.ini
моем случае было бесполезно (потому что у меня был только неправильный JDK / JRE, чтобы иметь отношение к нему).Я также не смог выяснить, как проверить, была ли эта Eclipse 32-битной или 64-битной версией (я не смог найти ее в диспетчере задач , так как эта «установка» Eclipse не запустилась. я давно не мог вспомнить его версию.)
Если вы используете более новую версию JDK и более раннюю версию JRE , возможно, у вас тоже возникнут проблемы, но тогда, скорее всего,
java.lang.UnsupportedClassVersionError
появится IIRC .источник
Убедитесь, что ваш
eclipse.ini
файл содержит следующие строки.Мой
eclipse.ini
например:Используйте ОС и Eclipse, как 64-битные, так и 32-битные, сохраняйте одинаковые настройки и конфигурации
eclipse.ini
.Ваш
eclipse.ini
файл может быть найден в вашей папке Eclipse .источник
-vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
строку в мой файл eclipse.ini, и он запустился очень хорошо. Спасибо за помощь +1.У меня была такая же проблема
Я решил это, установив 64-битную JVM из
http://www.java.com/en/download/manual.jsp
источник
Эта ошибка означает, что архитектура Eclipse не соответствует архитектуре среды выполнения Java, то есть, если один 32-разрядный, другой должен быть таким же, а не 64-разрядным.
Наиболее надежное решение - указать расположение JVM в eclipse.ini:
Важно: эти две строки должны идти перед -vmargs. Не используйте кавычки; пробелы разрешены.
источник
Другой вариант:
Создайте ярлык для Eclipse.exe. Откройте ярлык и измените цель на:
Для вашей установки убедитесь, что в расположении указывается правильный каталог установки Eclipse и правильный
javaw.exe
каталог установки.(Конечно, 64-32-битные версии Eclipse и Java должны быть одинаковыми.)
источник
У меня установлено несколько версий Java, как Sun JDK, так и JRockit, как 32-разрядных, так и 64-разрядных, и т. Д., И я столкнулся с этой проблемой при новой установке 64-разрядной версии Eclipse для Java EE (JUNO).
Что НЕ работает:
64-битное трио по предложению Питера Рэйдера:
Я использую 64-битный Eclipse на 64-битной ОС (Windows 7).
Я гарантировал, что Sun JDK 7 64-bit была версией Java по умолчанию. Когда я набрал "java -version" из командной строки (cmd.exe), был возвращен 64-битный Sun JDK 7 ...
Это не решило проблему для меня.
Что DID работы:
Добавление опции -vm в eclipse.ini, как предложено Джаешем Каватией:
Я добавил следующее в eclipse.ini:
Замечания:
Мне не нужно было удалять какие-либо версии JDK или JRE на моем компьютере.
источник
Для отсутствующего
jvm.dll
файла мы можем указать путь к файлу DLL вeclipse.ini
файле какЗдесь важно убрать все пробелы в пути и двойные кавычки. Это сработало для меня, когда я удалил кавычки и пробел.
Надеюсь, это кому-нибудь поможет.
источник
У меня была аналогичная проблема. Было решено сделать следующее.
У меня установлены обе версии Java, но Eclipse продолжал пытаться использовать 32-битную.
источник
Конечно, вам нужна совместимая версия JDK и Eclipse, но вы также должны добавить в
eclipse.ini
файл следующие строки:Сделайте им первые две строки вашего
eclipse.ini
файла.источник
Как уже упоминали многие, это проблема 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 .
источник
В качестве альтернативы, получите ту же «битовую» версию JRE и Eclipse, а затем создайте новый ярлык с целью ниже (замените установленное расположение / путь JRE и Eclipse):
Это должно делать свое дело.
источник
Вы можете решить эту проблему, как и многие другие. Вам нужно, чтобы Eclipse и JDK были 32-битными или оба на 64-битных . Архитектура ОС не имеет значения, в то время как другие остаются на том же типе архитектуры.
источник
Ответы выше меня настолько меня соблазнили, что я решил пробовать все возможные комбинации с ОС, Eclipse и JVM trio. В любом случае, кто бы ни копался и читал мой пост, отметьте следующее как горячую точку (я пользователь Windows 7).
Вы понимаете, что Program Files и Program File (x86) - это две разные папки ... x86 обозначает 32-битную версию программ, а первая - 64-битная версия.
Если у вас установлено несколько версий Java с разной разрядностью и версиями выпуска, что неизбежно случается со многими IDE с открытым исходным кодом , менеджерами, административными консолями, лучший вариант - установить аргумент VM непосредственно в
eclipse.ini
файле. Если вы этого не сделаете, Eclipse сойдет с ума и попытается найти себя, что не очень хорошо.источник
Один из простых способов решить эту проблему - скопировать
jre
папку из установленного JDK в папку установки Eclipse. Убедитесь, что JDK, с которого вы копируете, имеет ту же архитектуру, что и ваша установка Eclipse.Я должен был сконфигурировать свою машину таким образом, потому что я запускаю Eclipse и Appcelerator Titanium Studio на своей машине. Студии нужна 32-битная Java, а Eclipse - 64-битная.
источник
Да, просто убедитесь, что ваши версии Eclipse и JDK являются 64-битными. Просто чтобы убедиться, что все правильно, удалите JDK и установите его в Program Files, а не в Program Files (x86) . По крайней мере, это решило мою проблему.
источник
Просто проверьте переменную среды PATH. В « Мой компьютер» -> « Свойства» -> « Дополнительные параметры системы» -> « Переменные среды» -> (в левом верхнем окне «Пользовательские переменные для« какое-то имя ПК »») просто проверьте переменную PATH. Если он не существует, создайте его следующим образом -> C: \ Program Files (x86) \ Java \ jre7 \ bin <-
Я столкнулся с той же проблемой после обновления моего Eclipse. Я обнаружил, что путь запрашивал 64-битную версию, но у меня был 32-битный путь в diff. Это было полезно для меня. PS: у меня есть 64-битная ОС, 32-битная JRE и 32-битная Eclipse. Все отлично работает :)
источник
Вы должны удалить все старые [JREs] [1], а затем установить самую новую ... У меня была та же проблема, и теперь я ее решаю. Я:
Лучше установить Jre 6 32 бит. Это реально работает.
источник
Скачал 64-битную JVM с сайта, установил ее вручную и обновил переменную системного пути. Это решило проблему.
папке « C: \ Program Files (x86) \ Java \ jre7»
источник
Спасибо, misterfrb , я понял, что Eclipse выдает эту ошибку, потому что я только что установил пакет Oracle 10g Developer и искал
jvm.dll
файл вC:\DevSuiteHome_1
папке (я должен был снова установить JDK вместе с комплектом разработчика).После удаления строк DevSuiteHome из переменной paths и добавления местоположения коррекции для 64-битной системы
jvm.dll
(не уверен, было ли это необходимо, не пытался без него), Eclipse снова заработал, и Developer Suite продолжает работать.источник
Проще говоря, у меня установлена 64-разрядная ОС, 32-разрядная версия Eclipse и обе JDK 32 и 64 ... Я только что удалила 64-разрядную версию JDK, и Eclipse работает нормально ..
источник
У меня возникла та же проблема после обновления с Java 6 до Java 7. После того, как я удалил Java 6 (64-разрядная версия) и переустановил Java 7 (64-разрядная версия), Eclipse заработал. :)
источник
Крайне важно добавить параметр -vm и его значение в 2 строки В НАЧАЛЕ eclipse.ini
-vm C: \ Program Files \ Java \ jdk1.7.0_45 \ bin \ javaw.exe
источник
Я хочу найти другое решение для этой ошибки, особенно для тех, кто хочет использовать 32-битный и 64-битный Eclipse в одной системе.
Eclipse запустится с использованием JRE / JDK в
jre
подкаталоге, если он существует. (STS или другие IDE на основе затмения также поддерживают эту функцию ...)Решение заключается в создании соединения каталога с помощью
mklink.exe
команды, существующей в Windows Vista или более новой версии ( junction.exe предлагает аналогичную функцию для Windows 2000 / XP).Откройте окна командной строки и выполните следующую команду:
Конечно, если Eclipse предназначен для 64-битной Windows, архитектура
JDK/JRE
должна быть такой же.Предполагать:
Eclipse for windows x86_64
устанавливается в d: \ devTool \ eclipseJDK for windows x64
установлен в C: \ Program Files \ Java \ jdk1.8.0Команда для создания
jre
папки будет:Кстати, удалить каталог соединения не удалит любой файл. Если вы создали неправильную ссылку, вы можете удалить ее, используя проводник или
rmdir
команду.источник
Убедитесь, что вы запускаете Eclipse с правами администратора.
источник
Если вы используете целое 64-битное трио, и оно все еще не работает (я столкнулся с этой проблемой при запуске Android Monitor в Intellij Idea), возможно, используется неверный файл jvm.dll, в отличие от того, что ожидает ваш Java. Просто следуйте этим шагам:
Найдите файл jvm.dll в вашем каталоге JRE:
C:\Program Files\Java\jre7\server\bin\jvm.dll
Найдите файл jvm.dll в каталоге JDK:
c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\
Скопируйте
jvm.dll
из каталога JRE в каталог JDK и перезапишите jvm.dll в JDK.Не забудьте сделать резервную копию, на всякий случай. Нет необходимости устанавливать или удалять что-либо, связанное с Java.
источник
То же самое произошло со мной. У меня было 64-битное Eclipse, но мой JDK был 32-битным. Итак, я установил 64-битную версию, и сейчас все нормально.
источник
Я не уверен, почему, но я установил jre в мой каталог c: \ windows и java.exe и javaw.exe в моем каталоге windows \ system32.
Очевидно, что эти каталоги получили приоритет даже после добавления флага -vm в мой файл eclipse.ini.
Удаление их отсюда исправило проблему для меня.
источник
Вы изменили правильную версию JAVA_HOME и PATH в переменных среды.
источник
На странице загрузки Eclipse должно быть написано «JRE 32 бит» или «JRE 64 бит», а не «Windows 32 бит» или «Windows 64 бит».
Обязательно используйте правильную версию, совместимую с вашим JDE, как уже было сказано ранее.
источник