Для запуска Eclipse должна быть доступна JRE или JDK. После поиска в следующих местах JVM не была найдена

128

Eclipse не может открыться, использовал eclipse раньше и открывался раньше без проблем. Теперь я получаю следующее сообщение об ошибке:

Для запуска Eclipse должна быть доступна среда выполнения Java (JRE) или Java Development Kit (JDK). После поиска в следующих местах виртуальная машина Java не обнаружена:

У вас есть eclipse, чтобы открывать и работать над проектами раньше, и они не открываются.

Вот скриншот того, что я получаю:

введите описание изображения здесь

Дэвид Смит
источник

Ответы:

169

Вы можете явно указать Eclipse, где его найти . Откройте eclipse.iniи добавьте следующие строки в начало файла:

-vm
/absolute/path/to/jre6/bin

Обновление : я только что установил основную причину на своем компьютере с Windows. Установщик GlassFish пожаловался на точно такое же сообщение об ошибке, и после того, как покопался на форумах GlassFish, причина была ясна: поврежденная установка JRE на машине Windows. Моя JRE пришла вместе с JDK, а установщик Java 6 JDK каким-то образом не установил JRE должным образом. В установке JDK JRE отсутствовал файл DLL. После того, как я переустановил автономную JRE с http://java.com , перезаписав старую, установщик GlassFish продолжил работу, а также Eclipse смог без проблем запуститься без этих двух строк eclipse.ini.

BalusC
источник
Какая марка / версия ОС? Какая версия Eclipse? Какой у вас путь JRE?
BalusC
3
@DavidSmith работает для меня как шарм. На машинах с Windows путь выглядит так:C:\Program Files (x86)\Java\jre6\bin
Кристоф
Позже в ini-файле может быть другой аргумент -vm, заменяющий тот, который вы поместили вверху, указывая на виртуальную машину, которая не существует (например, потому что Java обновилась и удалила старую версию). Если да, удалите последнюю строку.
WBT
1
помните, что в eclipse.ini уже может быть аргумент -vm. Если да, замените путь правильным. У меня возникла эта проблема после обновления моего JAVA.
rph
добавление этого в конец файла .ini не решило мою проблему. Добавьте этот аргумент перед -vmargs и повторите попытку.
cihata87 06
17

Обычно это происходит потому, что:

  • вы указали неправильный путь jvm в своем -vmаргументе: см. этот вопрос SO для конкретного примера.
  • eclipse.iniиспортились каким - то образом (если он не был изменен, это не так, но если установка пути Jvm не работает ... Я бы заменитьeclipse.ini одним наступающие из свежей установки просто чтобы быть уверенным)
  • java, поиск по которому eclipse по умолчанию больше не доступен (потому что $ PATH больше не актуален)

Более подробная информация на вики-странице « Поиск виртуальной машины, использование вызова JNI или выполнение Java »

-Vm не указан

Если no -vmне указано, программа запуска сначала ищет виртуальную машину в каталоге jre в корне eclipse, а затем по пути поиска.
Если java находится в любом месте, мы ищем разделяемую библиотеку jvm (jvm.dll в окне, libjvm.so на платформах * nix) относительно этого исполняемого файла java.

  • Если общая библиотека jvm найдена, мы загружаем ее и используем API вызова JNI для запуска vm.
  • Если разделяемая библиотека jvm не найдена, мы запускаем средство запуска java, чтобы запустить виртуальную машину в новом процессе.

Как упоминалось в « FAQ Как запустить Eclipse? »:

Eclipse НЕ обращается к JAVA_HOMEпеременной среды.

Поэтому я бы проверил ваш $ PATH, начиная с n нового сеанса оболочки (какой бы ни была ваша ОС), набрав ' java -version', чтобы узнать, возвращает ли он что-нибудь.

VonC
источник
1
Пробежался по той же проблеме, решил проблему с этим ответом, и он работает под Ubuntu 12.04LTS
bakoyaro
12

Скопируйте javaw.exe из C: \ Program Files \ Java \ jre1.8 (или) 1.6 (или) 1.7 \ bin

введите описание изображения здесь

и вставьте его в папку Eclipse, где находится eclipse.exe. Вот и все.

введите описание изображения здесь

user3438583
источник
Это работает, но все еще выглядит как взлом, но это не подходящее решение. Все равно проголосовали за.
supernova
10

У меня была такая же проблема, и проблема заключалась в том, что у меня была 32-разрядная версия Eclipse, работающая на моем 64-разрядном компьютере, и мне нужна была 32-разрядная версия JRE.

Я изменил Program Filesна Program Files (x86)в eclipse.iniфайле так:

-VM
C:Program Files (x86)\Java\jre6\bin

и это решило проблему.

Вы можете просто установить 64-битный Eclipse, но это устранит ошибку.

user1205577
источник
Это ответ. Мое затмение пришло из пакета OlimexODS и настроено для запуска с 32-битной версией, мой JDK поставляется с 64-битным пакетом Netbeans. Ни одно из сообщений о сбое запуска никоим образом не указывало на проблему несоответствия. Старая добрая портативная Java: напишите один раз, вылет везде Чтобы проверить: если в вашем eclipse.ini есть что-то вроде plugins / launcher.win32.win32.x86, то его 32-битная сборка. Если java -version из командной строки говорит что-то вроде Java HotSpot ™ 64-Bit Server VM (сборка 24.51-b03, смешанный режим), то у вас, вероятно, есть эта проблема.
kert
9

Вот как я исправил свой:

  1. найдите место, где установлен ваш jre. в моем случае он находился в C: \ Program Files \ Java \ jdk1.7.0_10

  2. скопируйте папку jre и вставьте ее туда, где находятся ваши файлы eclipse (где находится eclipse.exe).

когда вы загружаете eclipse, вы получаете пакет .zip, содержащий eclipse.exe и все другие файлы, необходимые для запуска eclipse, но в нем отсутствуют файлы jre. поэтому все, что вам нужно сделать, это найти, где на жестком диске находится папка jre, и добавить ее в остальную часть пакета eclipse.

QuadMachine
источник
7

Вы устанавливали Java через автоматическую установку веб-браузера java.com? Если так, то это твоя проблема! Вам необходимо выполнить "ручную" установку: http://www.java.com/en/download/manual.jsp

Это просто вопрос правильного соответствия 32-битного Eclipse / 32-битного Java или 64-битного Eclipse / 64-битного Java. Многие 64-разрядные версии Windows имеют 32-разрядные браузеры, и последняя является версией Java, которую предоставляет автоматический установщик, а не тем, что требуется 64-разрядному Eclipse.

user2221891
источник
Спаси мой день. Спасибо.
teapeng
5

Убедитесь, что путь установки JDK находится в переменной Path в Windows.

Liam15
источник
4

У меня возникла эта проблема, потому что я удалил jdk версии 13 и переустановил j dk версии 8

Несмотря на то, что я обновил переменные пути, eclipse по- прежнему выбирает старую конфигурацию.

Вам необходимо отредактировать файл eclipse.ini, который находится в вашей папке, где размещен eclipse.exe .

введите описание изображения здесь

Просто обновите этот файл, указав последний путь, чтобы eclipse мог его забрать

введите описание изображения здесь

Гаурав хурана
источник
3

Это так просто, добавьте только свой путь java, например:

C: \ Program Files \ Java \ jdk1.8.0_121 \ bin

в системной переменной PATH

Фрэн Рага
источник
3

Я столкнулся с подобной проблемой ранее с Eclipse и STS IDE'S

  • Пожалуйста, проверьте погоду JDK/JRE доступна ли в вашей машине. Если нет, установите JDK и настройте переменные среды.
  • Даже после шага 1, если вы все еще сталкиваетесь с проблемой, пора установить аргумент vm в eclipse.iniили sts.ini следующим образом.
-vm 
C:Program Files (x86)\Java\jre8\bin
Сумант Варада
источник
2

У меня также была такая же проблема при разработке приложений для Android с использованием eclipse IDE. Я решил это, удалив все установки java (у меня были оба java 6 и 7) и переустановил только jdk 7.

rashini
источник
2

-vm C:/Program Files/Java/jdk1.6.0_29/bin/javaw.exe мне помогло добавление в файл .ini.

Акаш Гупта
источник
4
я тоже. добавьте это перед -vmargs
Tom
2

Я исправил это, выполнив следующие шаги:

1)

  1. Eclipse находит исполняемые файлы JAVA из 'C: \ ProgramData \ Oracle \ Java \ javapath'
  2. Структура папки будет содержать ярлыки для tвведите описание изображения здесь исполняемых файлов, т.е. java.exe ii. javaw.exe iii. javaws.exe
  3. Для меня пути к исполняемым файлам указывали на расположение моей папки (ProgramFiles (x84))
  4. Я исправил его на путь к программным файлам (64 бит), и проблема была решена

Пожалуйста, найдите скриншот того же.

dreamdeveloper
источник
2

Просто чтобы добавить поверх других ответов:

Пользователи Windows: вы можете указать ПУТЬ JRE в eclipse.ini, разделив его символом '/' или '\'. Неважно. Eclipse все равно выберет его. Например, в моей системе Windows любой из путей в порядке (конечно, после -vm):

C: / Program Files / Java / jre1.8.0_181 / bin или C: \ Program Files \ Java \ jre1.8.0_181 \ bin

Паван Кумар
источник
1

Измените значение vm в файле eclipse.ini, указав правильный путь к вашему JDK примерно так:

-vm /Library/Java/JavaVirtualMachines/jdk-11.0.5.jdk/Contents/Home/bin

Путь к eclipse.ini мне кажется примерно таким:

/Users/tomcat/eclipse/jee-2018-09/Eclipse.app/Contents/Eclipse

Том Тейлор
источник
1

Это иногда происходит, если вы удалите Java из переменных пути (намеренно или непреднамеренно). Чтобы снова установить переменную PATH, добавьте полный путь к каталогу jdk \ bin в переменную PATH. Обычно полный путь:

C: \ Program Files \ Java \ jdk-11 \ bin

Чтобы установить переменную PATH в Microsoft Windows:

  1. Выберите Панель управления, а затем - Система.
  2. Нажмите «Дополнительно», а затем «Переменные среды».
  3. Добавьте расположение папки bin установки JDK в переменную PATH в системных переменных.
Головкин
источник
0

У меня тоже была эта проблема на машине win7. Я хотел обновить jre с помощью jdk. Поэтому я удалил папку jre, загрузил и разархивировал новый jdk. Проблема заключалась в том, что я вручную удалил папку jre, тогда как вместо этого я должен был удалить ее. В результате остается множество записей реестра, которые по-прежнему указывают на старую версию jre. Почему-то Eclipse все еще хочет использовать старую jre. Я не мог удалить старую java vm, я все время получал эту ошибку:

Ошибка 1723. Проблема с этим пакетом установщика Windows. Не удалось запустить DLL, необходимую для завершения этой установки. Обратитесь в службу поддержки или к поставщику пакета

Поэтому мне пришлось использовать эту утилиту MS, чтобы исправить удаление:

http://support.microsoft.com/kb/2438651/

Затем мне пришлось снова установить vm. Я установил в то же место, где находился исходный, чтобы не потерять еще час! После этого затмение началось правильно.

Julio

julioA
источник
0

У меня была эта проблема, и я решил ее таким образом. Я заметил, что в сообщении об ошибке есть jre, а не jre6 или jre7, поэтому я скопировал jre6 из программных файлов в папку eclipse, затем переименовал его с jre6 в jre, и это сработало: p

Роберт Мак
источник
0

Newb продвигается с моей стороны, но я установил только JRE вместо JDK . Установил JDK, и моя проблема сразу же исчезла.

EldritchText
источник
0

У меня была эта проблема, и это было связано с тем, что моя машина с Windows играла. Я зашел в панель управления -> система -> расширенный - переменные среды.

Я отредактировал переменную PATH (которая уже была правильно настроена), НИЧЕГО не изменил, нажал OK, чтобы вернуться с экранов.

Тогда затмение сработало. Понятия не имею почему, кроме окна. Надеюсь, это может кому-то помочь.

Брюс
источник
0

У меня была эта проблема; Я исправил это, перейдя в

Компьютер -> Свойства -> Дополнительные настройки -> Переменные среды

В системных переменных найдите переменную с именем PATH.
-> Выберите Правка -> В самом конце переменной пути поставьте ";" затем добавьте свой путь к вашему JDK и поместите \ bin \ в конец

Должно быть исправлено.

Пример:

Системная переменная

C: \ Program Files (x86) \ Common Files ....... HP \ LeanFT \ bin

Путь JDK-

C: \ Programs Files \ Java \ jre1.8.0_121

Последний путь -

C: \ Program Files (x86) \ Common Files ....... HP \ LeanFT \ bin; C: \ Programs Files \ Java \ jre1.8.0_121 \ bin \

Источники: https://www.java.com/en/download/help/path.xml

Стюарт Мун
источник
Между Common Files.......HP\LeanFT\binпрочим, не у всех есть путь. Вам это не нужно для разработки на Java.
OneCricketeer
0

Это просто. Каталог bin JDK или каталог bin JRE должны находиться в переменной пути Пример: Установленный каталог Java: Предположим, ваша java установлена ​​в каталоге ' C: \ Program Files \ java \ Jdk1.8.0_144 '. Теперь вы можете найти каталог bin в ' C: \ Program Files \ Java \ Jdk1.8.0_144 \ Bin '

Перейдите к переменной среды пользователя

Control Panel --> User Accounts --> User Accounts --> Change my environment variables

Во всплывающем окне нажмите Путь в разделе Пользовательские переменные для раздела Нажмите кнопку Изменить ... , появится другое всплывающее окно.

Нажмите Новую кнопку и введите C: \ Program Files \ Java \ Jdk1.8.0_144 \ Bin

Нажмите кнопку ОК и снова кнопку ОК во всплывающем окне переменных среды.

Теперь вы можете открыть свое затмение без ошибок

Radhakrishnan
источник
0

Я нашел решение, в котором расположение Eclipse.ini было старой версией Java, а после обновления новой версии java расположение -vm

C:\Program Files\Java\jre1.8.0_201\bin

было таким же, поэтому мне пришлось сменить каталог на мою новую версию Java.

Поэтому решение состоит в том, чтобы просто открыть самую последнюю версию Java, скопировать путь к ее каталогу и заменить его в файле Eclipse.ini.

Прутви Диу
источник
0

Пример, ориентированный на будущее для Linux-подобных систем. Предполагая, что javac установлен и находится на вашем пути.

./eclipse -vm dirname $(readlink -f $(which javac))

Это найдет каталог, в котором установлен javac, и передаст аргумент vm в eclipse.

ноль
источник
0

Если в Linux (например, Ubuntu 18), попробуйте установить (или переустановить в вашем случае?) default-jreСледующим образом:

sudo apt update
sudo apt install default-jre

У меня была такая же ошибка, когда я просто пытался запустить установщик Eclipse ( ./eclipse-inst) на свежей загрузке Eclipse только сейчас, а установщик даже не запускался! Установка default-jreрешила это!

Источник:

Габриэль Скобы
источник
0

В моем случае я отредактировал eclipse.ini для другой цели, включив параметр -vm. Это было причиной отказа. Я удалил -vm и следующую строку, где я включил \ bin, и это устранило проблему.

Махеш
источник
-1

C: \ Program Files \ Java \ jre1.8.0_221 \ bin работал у меня

рубальный ислам
источник
Это похоже на то, что говорят многочисленные ответы (например, 1 , 2 , 3 ).
Вай Ха Ли