Когда я пытаюсь открыть Eclipse, во всплывающем диалоговом окне указано:
Не удалось загрузить общую библиотеку JNI "C:/JDK/bin/client/jvm.dll".
После этого сила Eclipse закрывается.
Вот несколько моментов, которые я хотел бы сделать:
Загрузка 32-разрядных версий - это то, что я хочу сделать только в крайнем случае.
Что было бы предложено решить эту проблему?
Вам нужно 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 содержит следующие строки.
-vm
C:\path\to\64bit\java\bin\javaw.exe
Мой eclipse.ini например:
-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\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
Используйте OS и Eclipse как 64-разрядные, так и обе 32-разрядные версии, и config eclipse.ini.
Ваш файл eclipse.ini можно найти в папке eclipse.
-vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
в мой файл eclipse.ini, и он запустился очень хорошо. Спасибо за помощь +1.
У меня была та же проблема
Я разрешил его, установив 64-битную JVM из
Другой вариант:
Создайте ярлык для Eclipse.exe. Откройте ярлык и измените цель на:
"C:\Program Files\eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"
Для вашей установки убедитесь, что в местах указывается правильный каталог установки Eclipse и правильный каталог установки javaw.exe
.
(64-разрядные версии Eclipse и Java должны быть одинаковыми, конечно.)
Эта ошибка означает, что архитектура Eclipse не соответствует архитектуре среды выполнения Java, то есть если одна из 32-разрядных, то другая должна быть одинаковой, а не 64-разрядной.
Самое надежное решение - указать местоположение JVM в eclipse.ini:
-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe
Важно: Эти две строки должны появиться до -vmargs. Не используйте кавычки; пробелы разрешены.
У меня есть несколько версий Java, как Sun JDK, так и JRockit, как 32-разрядные, так и 64-разрядные и т.д., и столкнулись с этой проблемой при новой установке 64-разрядного Eclipse для Java EE (JUNO).
64-битное трио, предложенное Питером Радером:
Я использую 64-разрядный Eclipse в 64-разрядной ОС (Windows 7).
Я обеспечил Sun JDK 7 64-битная версия по умолчанию java. Когда я набрал "java -version" из командной строки (cmd.exe), был возвращен 64-бит Sun JDK 7...
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
Это не решило проблему для меня.
Добавление опции -vm в eclipse.ini, как предложено Jayesh Kavathiya:
Я добавил следующее в eclipse.ini:
-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe
Мне не пришлось удалять любую из различных версий JDK или JRE, которые у меня есть на моей машине.
Для отсутствующего файла jvm.dll
мы можем указать путь к файлу dll в файле eclipse.ini
как
-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll
Здесь важно удалить любое пространство в пути и двойные кавычки. Это сработало для меня, когда я удалил кавычки и пробелы.
Я надеюсь, что это поможет кому-то.
Конечно, вам нужна совместимая версия JDK и Eclipse, но вам также нужно добавить в файл eclipse.ini
следующие строки:
-vm
yourdrive\java\bin
Сделайте их первыми двумя строками вашего файла eclipse.ini
.
У меня была аналогичная проблема. Было решено сделать следующее.
У меня установлены обе версии Java, но Eclipse продолжал пытаться использовать 32-разрядную версию.
Как уже упоминалось многими людьми, это проблема с 32 по 64 бит для Eclipse и Java. Вы не можете смешивать 32 и 64 бит. Поскольку Eclipse не использует JAVA_HOME
, вам, скорее всего, придется изменить свою PATH до запуска Eclipse, чтобы убедиться, что вы используете не только подходящую версию Java, но также и 32 или 64 бит (или модифицируете INI файл как Джаят отметил).
Если вы устанавливаете Eclipse из общего ресурса компании, вы должны убедиться, что можете указать, какую версию Eclipse вы разархивируете, и разархивировать в соответствующий каталог программных файлов, чтобы отслеживать, что это такое, а затем изменить PATH (либо (через Windows) Панель управления → Система или набор PATH=/path/to/32 or 64bit/java/bin;%PATH%
(возможно, создайте пакетный файл, если вы не хотите его устанавливать в своей системе и/или переменных пользовательской среды). Помните, что 32-разрядный файл находится в файлах программы (x86).
Если вы не уверены, просто запустите Eclipse, если вы получите ошибку, измените свой PATH на другую "bit" версию Java и повторите попытку. Затем переместите каталог Eclipse в соответствующий каталог Program Files.
Ответы выше меня заставили меня искушаться так сильно, что я решил иссушить все возможные комбинации с ОС, Eclipse и JVM трио. В любом случае, кто бы ни копался и не читал мой пост, проверьте следующее как горячую точку (я - пользователь Windows 7).
Вы понимаете, что программные файлы и программный файл (x86) - это две разные папки... x86 означает 32-разрядную версию программ, а первая - 64-разрядная версия.
Если у вас есть несколько версий Java, установленных с разной версией битов и выпусков, что обязательно произойдет с таким количеством с открытым исходным кодом IDEs, менеджерами, административными консолями, лучшим вариантом является установка аргумента VM непосредственно в файле eclipse.ini
. Если вы этого не сделаете, Eclipse сойдет с ума и попытается найти себя, что плохо.
Вы можете решить эту проблему так же, как и многие другие. Вам нужно, чтобы Eclipse и JDK были 32-битными или оба на 64-битных. Архитектура ОС не имеет значения, в то время как остальные остаются в одном и том же типе архитектуры.
В качестве альтернативы, получите ту же "бит" версию JRE и Eclipse, а затем создайте новый ярлык с указанной целью (замените установленную JRE и Eclipse location/path):
"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
Это должно сделать трюк.
Вам нужно удалить все старые [JREs] [1], а затем установить новый... У меня была такая же проблема, и теперь я ее решаю. Я:
Лучше установить Jre 6 32 бит. Это действительно работает.
Да, просто убедитесь, что ваши версии Eclipse и JDK являются 64-разрядными. Просто убедитесь, что все правильно удалено JDK и установите его в Program Files, а не в Program Files (x86). По крайней мере, это разрешило мою проблему.
Одним из простых способов его устранения является копирование папки jre
из установленного JDK в папку установки Eclipse. Убедитесь, что JDK, который вы копируете, имеет ту же архитектуру, что и ваша установка Eclipse.
Мне пришлось настроить свою машину таким образом, потому что я запускаю на своей машине как Eclipse, так и Appcelerator Titanium Studio. Студии требуется 32-разрядная Java, а для Eclipse требуется 64-разрядная версия.
У меня была такая же проблема после обновления с Java 6 до Java 7. После удаления Java 6 (64-разрядной версии) и переустановки Java 7 (64 бит) работала Eclipse.:)
Простой, у меня 64-разрядная ОС, 32-разрядная Eclipse и установлены как JDK 32, так и 64... Я просто удаленные 64-разрядные JDK и Eclipse работают нормально.
Просто проверьте переменную среды PATH. В "Мой компьютер" → "Свойства" → "Расширенные настройки системы" → "Переменные среды" → (левое верхнее окно "Пользовательские переменные для" имени ПК "), просто проверьте переменную PATH. Если он не существует, создайте его со следующим → C:\Program Files (x86)\Java\jre7\bin < -
Я столкнулся с той же проблемой после обновления моего Eclipse. Я обнаружил, что путь спросил 64-битную версию, но у меня был 32-разрядный путь. Это было полезно для меня. P.S.: У меня 64-разрядная ОС, 32-разрядная JRE и 32-разрядная Eclipse. Все отлично работает:)
Загрузила 64-битную JVM с сайта и установила ее вручную и обновила переменную пути системы. Это решило проблему.
Спасибо misterfrb, я понял, что Eclipse давал эту ошибку, потому что я только что установил пакет разработчика Oracle 10g, и он искал jvm.dll
в папке C:\DevSuiteHome_1
(я должен был установить JDK снова вместе с пакетом разработчика).
После удаления строк DevSuiteHome из переменной paths и добавления местоположения коррекции для 64-битного jvm.dll
(не уверен, что это было необходимо, не пытались без него), Eclipse снова работал, а пакет разработчика по-прежнему работает.
Крайне важно добавить параметр -vm и его значение на 2 строки В НАЧАЛЕ eclipse.ini
-vm C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe
Убедитесь, что вы запускаете Eclipse с правами администратора.
У вас есть правильная версия JAVA_HOME и PATH в переменных окружения.
Я не уверен, почему, но я установил jre в мою директорию c:\windows и java.exe и javaw.exe внутри моего каталога windows\system32.
Очевидно, что эти каталоги получали приоритет даже после добавления флага -vm в мой файл eclipse.ini.
Удалите их здесь, исправил проблему для меня.
То же самое произошло со мной. У меня был 64-битный Eclipse, но мой JDK был 32-битным. Поэтому я установил 64-битную версию, и сейчас все в порядке.
Если вы используете целую 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 drectory в каталог JDK и перезапишите jvm.dll в JDK.
Не забудьте сделать резервную копию на всякий случай. Нет необходимости устанавливать или удалять все, что связано с Java.
И для пользователей PDT - избегать Страница загрузки Zend - у нее нет связанных 64-разрядных загрузок.
Используйте сам сайт Elipse.
У вышеупомянутой ссылки был более старый 3.6 Eclipse, который затем не смог обновить себя из-за Eclipse Bug # 317785.
Мое решение состояло в том, чтобы просто установить 32-разрядную Java вместе с 64-битным - это позволило работать с установщиком Zend.
Это удручает, что количество Java/Eclipse cruft должно пройти через PHP IDE.
Вы можете установить 32-разрядную версию JDK на 64-битной машине. См. Загрузка JDK 7.
Я хочу использовать другое решение для этой ошибки, особенно для тех, кто хочет использовать 32-разрядную и 64-разрядную Eclipse в одной системе.
Запуск Eclipse с использованием JRE/JDK в подкаталоге jre
, если он существует. (STS или другая среда, основанная на Eclipse, также поддерживают эту функцию...)
Решение представляет собой создание соединения каталога с помощью команды 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\eclipseJDK for windows x64
установлен в C:\Program Files\Java\jdk1.8.0Команда для создания папки jre
будет следующей:
mklink/j "d:\devTool\eclipse\jre" "C:\Program Files\Java\jdk1.8.0"
BTW, удалить соединение каталога будет НЕ удалить любой файл. Если вы создаете неверную ссылку, ее можно удалить с помощью проводника файлов или команды rmdir
.
rmdir "d:\devTool\eclipse\jre"
В моем случае я попытался запустить Java из командной строки и получил эту ошибку
Ошибка: не удалось открыть "C:\Windows\jre\lib\amd64\jvm.cfg"
Это означало, что "java" искал в PATH, начиная с этого неправильного каталога. Удаление папки C:\Windows\jre\разрешило проблему
На странице загрузки Eclipse должно быть написано "JRE 32 бит" или "JRE 64 бит", а не "32 бита Windows" или "64 бит Windows".
Обязательно используйте правильную версию, совместимую с вашим JDE, как было сказано ранее.
Установка JDK 1.8._91 (смешанный режим) - это еще одно решение для этого!
Эта ошибка, которую мы получаем из-за разной версии 32-разрядной версии Java версии.
Самое простое решение - включить конкретную JRE в eclipse.ini:
С этим вы можете запустить практически любую версию Eclipse
У меня была та же проблема. с 64-битной ОС все должно быть 64 бит. Java и Eclipse. Я пробовал все методы в stackoverflow, а также в youtube. не из них работали для меня, пока я не нашел этот простой метод.
Я установил загрузку Cnet из 64-битной java-формы, и проблема была автоматически исправлена. Я упомянул об источнике, потому что это слишком просто для google и перейдите на первый Cnet lint, а не на официальный сайт, если вы новая пчела.
p.s. если у вас есть пакет Android ADT и попытался открыть из него eclipse и получил ту же ошибку, вы также можете исправить эту проблему с помощью этого метода.
Я испытал все ошибки Eclipse, и это один из них. Проблема заключается в 64-разрядной версии Eclipse. Загрузите 32-разрядную версию и запустите ее.