Oracle установил новую версию день или два назад. Теперь я использую его и получаю:
C:\JavaTools>java -version
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
(Я нахожу «Software \JavaSoft \Java Development Kit» в реестре, но не «Java Runtime Environment».)
Без сомнения, что-то скрыто в моем пути или реестре или что-то еще, но я понятия не имею, что. Есть идеи?
(Я нашел это, но это не похоже на тот же случай. Я намеренно не занимался ни одной из конфигураций Java, просто сказал "ОК", когда Oracle попросил обновить мою существующую конфигурацию.)
Cygwin находит следующие версии java.exe - я понятия не имею, какой Oracle якобы обновлял:
/cygdrive/c/Program Files/Java/jdk1.7.0_07/bin/java.exe
/cygdrive/c/Program Files/Java/jdk1.7.0_07/jre/bin/java.exe
/cygdrive/c/Program Files (x86)/Java/jre7/bin/java.exe
/cygdrive/c/Windows/System32/java.exe
/cygdrive/c/Windows/SysWOW64/java.exe
Единственная версия javac.exe, которую я смог найти, была по адресу:
/cygdrive/c/Program Files/Java/jdk1.7.0_07/bin/javac.exe
% path% включает в себя:
C:\"Program Files"\Java\jdk1.7.0_07\bin\
(Я знаю, что не должен был говорить "ОК", когда Oracle попросил обновить, но я был занят чем-то другим и хотел убрать это с дороги. Это научит меня !!)
Обновление: я, наконец, просто удалил и перезагрузил Java. В одном я не был уверен, стоит ли мне трогать экземпляры java.exe в Windows\System32 и Windows\SysWOW64 - старые еще есть, но, похоже, не вызывают проблем. (Я действительно удалил другие пути, наконец, после нахождения и уничтожения фонового задания, которое ссылалось на некоторые из его файлов.) Пришлось вручную обновлять% path% новым номером версии. Но Java, кажется, снова работает.