Подтвердить что ты не робот

Запуск Java дает "Ошибка: не удалось открыть" C:\Program Files\Java\jre6\lib\amd64\jvm.cfg '"

После нескольких лет работы ОК, я получаю это сообщение при попытке запустить JVM:

Error: could not open `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'

Я попытался удалить и получил сообщение о том, что DLL отсутствует (неуказано) Пробовал переустановить, все безрезультатно.

В то же время, когда вы пытаетесь запустить Scala, я получаю:

\Java\jdk1.6.0_25\bin\java.exe was unexpected at this time.

Проверено %JAVA_HOME% и %path% - оба OK

Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Может быть немного другая причина, но вторая проблема возникает для меня в scala 2.9.0.1 на Win7 (x64), хотя scala -2.9.1.final уже разрешил эту проблему, упомянутую здесь:

\Java\jdk1.6.0_25\bin\java.exe was unexpected at this time.

My %JAVA_HOME% установлен таким образом: c:\program files (x86) \Java\jdk...

Обратите внимание на пробел и круглые скобки.

Если вы измените строку 24 в %SCALA_HOME%\bin\scala.bat на:

if exist "%JAVA_HOME%\bin\java.exe" set _JAVACMD=%JAVA_HOME%\bin\java.exe

к

if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"

Он отлично работает. Обратите внимание на кавычки вокруг заданных параметров команды, это будет содержать все пробелы и специальные символы (например: пробелы и круглые скобки) в значении переменной.

Надеюсь, это поможет кому-то еще найти ответ.

Ответ 2

Я проверил мои переменные окружения - JAVA_HOME & PATH, и все они ссылаются на C:\java. Так что это немного расстраивало. Через некоторое время я обнаружил, что при установке по умолчанию также копируются java.exe, javaw.exe и javaws.exe в C:\Windows\System32 (т.е. удаление JRE не прошло успешно). Я просто удалил их и вуаля, я вернулся на ходу. Эта досадная ошибка больше не появляется.

Это работает для меня

Итак, если существует, удалите java.exe, javaw.exe и javaws.exe из System32

Ответ 3

введите% JAVA_HOME%\bin в начале PATH.

Ответ 4

У меня была та же проблема: у меня 64-битная Windows, и когда я набрал "java -version" в CMD-Console, я получил такое же сообщение об ошибке. Попробуйте запустить 64-бит-cmd (C:\Windows\SysWOW64\cmd.exe), и вы увидите, что он работает там;)

Ответ 5

Если это было раньше, значит, PATH больше не подходит.

Это может произойти, когда PATH становится слишком длинным и усекается.
Все сообщения (например этот) предлагают обновление PATH, который вы можете протестировать сначала в отдельном сеансе DOS, установив минимальный путь и посмотрите, работает ли там Java.


Наконец, OP Highland Mark заключает:

Наконец, исправлено удаление java, удаление всех ссылок на него из реестра, а затем повторная установка.

scary;)

Ответ 6

Я думал, что поделюсь тем, как я решил ту же проблему: "Ошибка не удалось открыть lib\amd64\jvm.cfg". Я обнаружил, что время выполнения Java Jre7 отсутствует в папке amd64 в lib. Однако у меня есть 1.7.0_25 JDK, у которого есть jre-папка, а также есть amd64.

Я переместил исходное содержимое папки jre7 в файл резервной копии и скопировал все с 1.7.0_25\jre.

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

Ответ 7

Установка Java 7 на моем рабочем ПК завершилась после того, как патч был выдворен нам, давая эту ошибку при попытке запустить Java-программу. Как-то весь подкаталог "lib" установки Java 7 исчез! Возможно, это связано с установкой как Java 6, так и Java 7 - в каталоге "jre6" все еще есть.

В любом случае я исправил его, удалив как Java 6, так и Java 7 и переустановив только Java 7. Но если файл, на который он жалуется, на самом деле есть, то вы, вероятно, имеете проблему с пути, как описано в некоторых из другие ответы здесь.

Ответ 8

Внезапно одна и та же проблема, от одного дня до другого, затмения сказала

Failed to load the JNI shared library "C:/JDK/bin/client/jvm.dll"`.

после попытки запуска java на консоли

Error: could not open `C:\WINDOWS\jre\lib\amd64\jvm.cfg' 

теперь я просто удалил весь каталог

C:\WINDOWS\jre

и все сработало снова... я не знаю, откуда это произошло, я надеюсь, что это был не вирус.

Ответ 9

  • У меня была похожая проблема (при попытке запустить ведомого агента Jenkins в Windows) в Windows 2008R2, Java 1.7.0_15

  • У меня было две ситуации, которые способствовали возникновению проблемы, и изменение обеих из них устранило ее:

    1) Установка Java по пути unix -compatible (меняется с c:\Program Files\... to c:\Software\...); Я не думаю, что это напрямую повлияло на проблему, описанную в этой теме, но я заметил изменение;

    2) Запуск Java не через ярлык. Первоначально он не удался с ярлыком, но re-running с прямого исполняемого файла (C:\Software\Java...\bin\java) работал.

Ответ 10

У меня была та же проблема в Eclipse, и я исправил ее, изменив JRE с 64-битного на 32-разрядный:

Окно > Настройки > Java > Установленные JRE > Добавить... > Далее > Каталог > выберите "C:\Program Files (x86)\Java\jre1.8.0_65" вместо "C:\Program Files\Java\jre1.8.0_60"

Ответ 11

C:\ProgramData\Oracle\Java\javapath работал у меня.., я взял резервную копию файлов и удалил файлы в нем. Открыл новую подсказку cmd, а затем протестировал и работает как charm

Ответ 12

Переустановка java не помогла мне. Но трюк, чтобы поставить переменную JAVA_HOME в начале env-vars. Проблема возникла после обновления с jdk1.7.0_11 до jdk1.7.0_13

Ответ 13

Другим обходным решением является использование shortpath в windows:

  • открыть консоль команд Windows с помощью cmd.exe
  • goto c:\
  • введите команду > dir program* /x
  • он должен отображаться как короткий путь, например: PROGRA~2
  • поэтому C:\PROGRA~2 совпадает с C:\Program Files (x86)
  • в JAVA_HOME заменить путь на: C:\PROGRA~2\Java\jre7

Это должно работать в среде Windows 64, поскольку она работала для меня в 64-разрядной версии win7.

Ответ 14

Я изменил путь установки java от c:\Program Files (x86)\java к другой папке, такой как c:\java\jdk1.7, и обновил значения %Java_HOME% и пути, соответственно, он работал.

Пример

%JAVA_HOME% = C:\java\JDK1.7

path-C:\java\JDK1.7\bin; 

Ответ 15

У меня возникла проблема после обновления java. Лучший способ решить эту проблему - просто перейти в папку c:/ProgramFiles/Java. Там вы найдете две папки jre: одна версия jre.your и другая с точно такой же папкой jdk. Попробуйте удалить папку версии jre.1.your. Там вы решаете свою проблему. Надеюсь, это поможет. Это сработало для меня.

Ответ 16

Обычно это связано с обновлением JRE.

Он меняет символические ссылки на C:\ProgramData\Oracle\Java\javapath\

Intall JDK - это исправит это.

Ответ 17

Error: could not open 'C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'

Глядя @it, проблема сценария постустановки уже есть и распространяется, так как я использую обновление jdk8 1.8.0_191, поскольку проблема возникла у меня после установки обновления java и произошла автоматически.

Error: could not open 'C:\Program Files\Java\jre1.8.0_191\lib\amd64\jvm.cfg'

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

Ответ 18

У меня было немного другое решение этой проблемы. мой PATH и JAVA_HOME указывали на JDK12 в

C:\Program Files\Java

но выполнение команды:

Java -version

дал ошибку:

Error: could not open 'C:\ProgramFiles\Java\jre1.8.0_212\lib\amd64\jvm.cfg'

Мне пришлось удалить папку с исполняемыми файлами (Java.exe, javaw.exe и т.д.) в другом каталоге, чем System32, как предлагали другие ответы здесь и посты в блоге. Вместо этого я обнаружил, что проблема заключается в исполняемых файлах, найденных в:

C:\Program Files\Common Files\Oracle 

так как в

ничего не было связано с Java
C:\Windows\System32

Если у вас возникла эта проблема, а в System32 ничего нет, проверьте каталог "общие файлы", упомянутый выше, на наличие каталога оракула и удалите его.

После этого ваши ссылки PATH должны работать нормально!

Ответ 19

Это не было на пути. Наконец, исправлено удаление java, удаление всех ссылок на него из реестра, а затем повторная установка. Никто не мудрее, но снова работает. Спасибо всем @Highland Mark. Можете ли вы рассказать мне процесс удаления ссылок из реестра. Я пробовал все возможные способы упоминания здесь людей, ничего не работало.