2013-10-12 3 views
10

Я пытался настроить Eclipse для попыток моей руки в приложении для Android. Я загрузил Eclipse и попытался запустить его ... обнаружил, что мне нужна Java JDK. В Googled и нашел JDK 7u40 (jdk-7u40-windows-x64.exe) и установил его. Установка, похоже, прошла денди, но когда я попытался запустить Eclipse, у меня получилась ошибка, и если я попробую java version в cmd."Не удалось найти Java SE Runtime Environment." после установки Java

Error: opening registry key 'Software\JavaSoft\Java Runtime Environment' 
Error: could not find java.dll 
Error: Could not find Java SE Runtime Environment. 

Я пошел в команду regedit HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft и Java Runtime Environment не существует там. Похоже, что это скорее симптом, чем основная причина моих проблем.

мой путь выглядит

PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program File 
s (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Window 
s;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Progra 
m Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Window 
s Live\Shared;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\AIR\bin;C: 
\Program Files (x86)\nodejs\;C:\SDK\Android\tools;C:\SDK\Android\platform-tools; 
C:\SDK\ANT\apache-ant-1.9.2\bin;C:\Program Files\Java\jdk1.7.0_40\bin\ 

% JAVA_HOME% = C:\Program Files\Java\jdk1.7.0_40

Я бегу Windows 7 Pro 64-битных

я уже прочитал через Error when checking Java version: could not find java.dll и связанные материалы

+0

Вы смешивали 32-битную и 64-битную java и затмения? – hexafraction

+0

'java -version' также возвращает ошибку реестра ... поэтому я не думаю, что это просто проблема несоответствия. Мое лучшее предположение заключается в том, что одна из старых версий Java, которую я удалил, может немного испортить мой реестр. – azBrian

+0

Вы можете решить эту проблему простым способом. Просто удалите java с панели управления и установите его снова, установите java home и добавьте его в путь. – user1309573

ответ

11

Наконец-то было найдено сообщение на форуме, в котором описывается, как должен выглядеть реестр, когда он не сломан.

  1. Добавлен ключ HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
  2. Добавлено String Значение CurrentVersion = 1.7
  3. Добавлен ключ HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7
  4. Добавлено String Значение JavaHome = C:\Program Files\Java\jre7

Запуск CMD java -version и Eclipse, теперь работает

+1

Это не должно быть необходимо для этого.Установщик Java установит для вас эти ключи. Если они отсутствуют, переустановите JRE. –

+3

где находится реестр? – committedandroider

1

32-битное eclipse не может загрузить 64-разрядную среду выполнения Java.

Повторите попытку с 32-разрядной средой Java Runtime Environment или (предпочтительнее) обновите Eclipse до 64-разрядной версии.

Кроме того, хорошая идея (из командной строки)

C:> java -version 

Который должен дать вам информацию о вашей виртуальной машине Java. Если это не сработает, сосредоточьтесь на том, чтобы зафиксировать это, прежде чем исправлять использование Eclipse Java.

+0

'java -version' также возвращает ошибку реестра ... которую я уже знал и заявлял в op. Я сосредоточен на исправлении этого, но не знаю, какие следующие шаги я должен предпринять. – azBrian

2

Вы можете попробовать переустановить свой JDK. У меня была эта проблема, потому что я удалил так много java-вещей на моем ПК. И когда я открываю Eclipse, произошла ошибка.

0

Я получал ту же ошибку (ниже) для Oracle, когда я нажал на приложение G2.

Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'

Error: could not find java.dll

Error: Could not find Java SE Runtime Environment.

Я перезапустил машину, все тот же.

Я переустановил приложение (которое включает Oracle), все тот же.

Я проверил все предлагаемые настройки реестра, как было предложено, и мой реестр был в порядке.

Я проверил путь ярлыка, и он запускает javaw.exe со строкой, следующей за ярлыком. Я перешел к файлам программ G2, и я попытался щелкнуть javaw.exe непосредственно в папке приложения и получил ту же ошибку.

Я сделал некоторые исследования в этом и обнаружили, что Java имеет javaw.exe в следующем пути:

C: \ Program Files \ Java \ jre7 \ Bin \ javaw.exe

Я осуществлять навигацию путь и щелкнул по этому файлу javaw.exe и не получил никаких ошибок

Я переименовал javaw.exe в приложении G2 в javaw_old.exe, а затем скопировал и вставил файл javaw.exe из вышеуказанного пути в папке моего приложения. Файлы бок о бок, вы можете видеть разницу в размере файла, а дата была разницей в 8 месяцев. Более новый и более крупный файл является тем, который находится в последней папке установки Java.

Нажав на ярлык G2 и приложение открылось без каких-либо ошибок.

Если у вас есть такая же проблема, как и у меня, где все Java в порядке, и вы все еще получаете ошибку, попробуйте найти файл java (.exe), в котором ваше приложение ошибочно, переименуйте его и скопируйте и вставьте тот же файл из вашу папку Java (C: \ Program Files \ Java \ jre7 \ bin) в ту же папку, в которой находится файл Java вашего приложения.

Надеюсь, это поможет кому-то.

4

Вы можете сказать eclipse, что JRE использовать в eclipse.ini. Если у вас установлены пакеты, для которых требуется 1.7 в вашей среде IDE, вам понадобится 1,7 JRE для запуска самой IDE. добавить следующие строки в файл eclipse.ini

-startup плагинов/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
-vm C: \ Program Files (x86) \ Java \ jre7 \ Bin \ javaw.exe
.
.
.

0

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

1

Как большинство из нас предложили изменить реестр, но в случае, если вы этого не хотите, поскольку это рискованно или у вас нет прав на это, вы можете удалить всю версию java, перезагрузить компьютер, установите желаемую версию java, убедитесь, что заданы параметры пути. Это сработало для меня.

0

Имея как 1.7, так и 1.8, я причинил мне эту проблему. Думаю, при удалении 1.8 некоторые из ключей реестра 1.7 были удалены. Мне не хватало ключевую среду Java Runtime Environment и JavaHome String. Деинсталляция всех версий JDK и переустановка 1.7 (обновление 80) решила мне проблему.

Смежные вопросы