"Системе не удается найти файл C:\ProgramData\Oracle\Java\javapath\java.exe"

Я использую JDK 8u25 в Windows 8, и у меня возникла проблема с установкой Java. Я могу отлично запустить javac, но при запуске java выдается следующее сообщение об ошибке:

The system cannot find the file C:\ProgramData\Oracle\Java\javapath\java.exe

Как это исправить?


Я думаю, что проблема связана с моими переменными среды.

Важными переменными, как я их установил, являются:

  • JAVA_HOME - C:\Program Files\Java\jdk1.8.0_25
  • CLASSPATH - .;%JAVA_HOME%\lib
  • PATH - <other paths omitted>;%JAVA_HOME%\bin

И их расширения, если смотреть с помощью set в cmd:

  • JAVA_HOME - C:\Program Files\Java\jdk1.8.0_25
  • CLASSPATH - .;C:\Program Files\Java\jdk1.8.0_25\lib;%CLASSPATH%;
  • PATH - C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.6.0_45\bin;<other paths omitted>;C:\Program Files\Java\jdk1.8.0_25\bin

Полный вывод set можно посмотреть здесь.

Ответ 1

У меня есть аналогичная проблема, над которой я сейчас работаю. Я не могу сказать, что это решит вашу ошибку, поскольку могут возникнуть проблемы с другим программным обеспечением (это мой случай с Eclipse Luna).

Java использует путь, указанный в вашей переменной PATH, которая,

  C:\ProgramData\Oracle\Java\javapath

Перейдите в эту папку (ProgramData скрыта, поэтому, если необходимо), щелкните правой кнопкой мыши по символической ссылке java.exe. Вы увидите в поле Цель, где он ищет java.exe. Он может указывать на файл java.exe из вашей предыдущей установки jdk1.6.0_45. Либо вставьте новые ярлыки здесь, либо измените настройку PATH, как упомянули другие.

Я обнаружил, что установщик Java не изменяет javapath или не обновляет системный путь, по крайней мере, при переходе от 1,8 до 1,7. В моем случае изменение ярлыков только привело к проблеме с Eclipse при запуске.

EDIT: ----- После игры с ярлыками в папке javapath оказывается, что вам нужны символические ссылки, по крайней мере для Eclipse. См. Windows, как создать символическую ссылку для каталога.

Вам не нужен переключатель /d для символической ссылки файла,

  mklink java.exe "C:\Program Files\Java\jdk1.8.0_20\bin\java.exe"
  mklink javaw.exe "C:\Program Files\Java\jdk1.8.0_20\bin\javaw.exe"
  mklink javaws.exe "C:\Program Files\Java\jdk1.8.0_20\bin\javaws.exe"

Теперь это работает для меня.

Ответ 2

Почему Oracle сделал такой плохой способ указать на java, что это вне меня. Мы решили эту проблему, создав новую ссылку на JDK

mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\jdk1.8.0_40\bin\"

То же самое можно было бы использовать для JRE, если это все, что требуется.

Это заменяет старые символические ссылки в C:\ProgramData\Oracle\Java\javapath (если они существовали ранее)

Ответ 3

Я имел в PATH:

C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_92\bin;<others omitted>

Я удалил:

C:\ProgramData\Oracle\Java\javapath;

и это решило проблему для меня. java -version теперь дает подробную информацию о версии Java и т.д.

Ответ 4

Это решит все проблемы, связанные с Java и переменными среды:

  1. Перейдите к диалогу переменных среды Windows.
  2. В разделе Системные переменные выберите переменную с именем Path. Нажмите Изменить...
  3. Удалите запись, которая выглядит как:

    C:\ProgramData\Oracle\Java\javapath
    
  4. Добавьте путь к вашей папке bin JDK/JRE.

  5. Не забудьте установить JAVA_HOME.

Ответ 5

Обновление переменной среды PATH

Если вы не задаете переменную PATH, вам нужно указать полный путь к исполняемому файлу каждый раз, когда вы его запускаете, например:

C:\> "C:\Program Files\Java\jdk1.8.0\bin\javac" MyClass.java


Полезно постоянно устанавливать переменную PATH, чтобы она сохранялась после перезагрузки.
Чтобы постоянно установить переменную PATH, добавьте полный путь к каталогу jdk1.8.0\bin в переменную PATH. Как правило, этот полный путь выглядит примерно так:
C:\Program Files\Java\jdk1.8.0\bin.
Установите переменную PATH следующим образом в Microsoft Windows:

  • Нажмите "Пуск", затем "Панель управления", затем "Система".
  • Нажмите "Дополнительно", затем "Переменные среды".
  • Добавить расположение папки bin для установки JDK в переменную PATH в системных переменных.
    Ниже приведено типичное значение для переменной PATH:

    C:\WINDOWS\system32; C:\WINDOWS; C:\Program Files\Java\jdk1.8.0\bin

    Примечание:

  • Переменная среды PATH представляет собой серию каталогов, разделенных точками с запятой (;) и не учитывает регистр. Microsoft Windows ищет программы в каталогах PATH в порядке слева направо.

  • У вас должен быть только один каталог bin для JDK в пути за раз. Те, которые следуют за первым экземпляром, игнорируются.

  • Если вы не знаете, где добавить путь JDK, добавьте его.

Новый путь вступает в силу в каждом новом окне команды, которое вы открываете после установки переменной PATH.

Ответ 6

В ваших PATH VARIABLE jdk1.6.0_45 и jdk1.8.0_25 есть 2 версии jdk. Попробуйте удалить первый, т.е. jdk1.6.0_45 из PATH

Ответ 7

Если вы находитесь на корпоративном ПК, который довольно ограничен групповой политикой, это может сработать.

Предполагая, что

  • ваша Windows PATH включает C:\ProgramData\Oracle\Java\javapath
  • У вас установлен JDK на C:\Program Files\Java\jdk1.8.0_60\bin

Затем создайте следующий текстовый файл mklink.bat и поместите его на рабочий стол:

rem mklink.bat
mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\jdk1.8.0_60\bin"
pause

Теперь щелкните его правой кнопкой мыши и выберите "Запуск от имени администратора". Укажите учетные данные администратора. script должен сообщить об успехе. Теперь вы можете скомпилировать или запустить Java.

Ответ 8

Эта проблема возникает при обновлении с одной версии на другую. Потому что jdk не обновляется автоматически.

Для этого вы можете изменить экологическую вариабельность. В системных переменных найдите PATH и добавьте местоположение bin jdk в начале строки (а не в обратную сторону). После выполнения этой проверки в CMD, если " java" и " javac" работает. если он работает, снова перейдите к системным переменным. добавьте " CLASSPATH" A переменная и установленное значение . c:\Program Files\Java\jdk1.8.0_91\lib; "

Ответ 9

Это обычно происходит при обновлении java, Самый простой способ решить это - просто удалить JDK и затем переустановить его. ПРИМЕЧАНИЕ. Это не удаляет путь или путь к классам, поэтому не нужно беспокоиться.

Ответ 10

  • Удалите все JDK, установленные на вашем компьютере, с панели управления Java.
  • Найдите C:\ProgramData\Oracle\Java и удалите этот каталог и все файлы, содержащиеся в нем. Вы можете сделать это из командной строки, используя rmdir /S C:\ProgramData\Oracle\Java
  • Затем найдите C:\ProgramData\Oracle и удалите папку oracle. Вы можете сделать это, используя rmdir /S C:\ProgramData\Oracle
  • Теперь установите JDK и установите путь.

  • Запустите программу. Вы больше не найдете ту же проблему.

Ответ 11

Я получил ту же ошибку при запуске команды JAVA. Чтобы решить эту проблему, я переместил путь Java в качестве первой записи в пути, и это решило проблему. Пожалуйста, посмотрите на этот скриншот для справки:

enter image description here

Ответ 12

Должны быть две или более переменные PATH. Попробуйте слить все из них в один, используя запятую (;)

Ответ 13

Я получил то же самое после установки java8 из недопустимой учетной записи. Чтобы исправить, я просто переустановил из учетной записи администратора. Это создало цитируемый каталог с файловыми ссылками на java exes.

Ответ 14

У меня также была аналогичная проблема, когда я должен был удалить JDK 1.8 и нужен jdk 1.7. Что я сделал, были удалены символические ссылки из javapath, а затем импортированы ярлыки java, javaw, javaws из каталога bin в папку javapath. Тем не менее, я нашел некоторые проблемы с разрешениями на корпоративном ноутбуке, где у меня не было привилегий для изменения/обновления этого каталога. Я получил соответствующее разрешение от администратора и там, разрешив его.

Ответ 15

c:\ProgramData\Java\javapath используется для символических ссылок. Вы можете, конечно, добавить полный путь к вашему пути Java к %PATH%, но в равной степени вы можете создать символическую ссылку на путь к указанному выше местоположению.

  • Откройте CMD в качестве администратора.
  • Введите mklink java.exe (полный путь к вашему Java.exe) например,

mklink java.exe "C:\Program Files\Java\jdk1.8.0_25\bin\java.exe"

Ответ 16

Не беспокойся Просто удалите jdk, а также обновления jdk. Перед переустановкой jdk удалите папку oracle внутри скрытой папки programData в C: \, а затем переустановите. Установите следующее,

JAVA_HOME
CLASSPATH
PATH
JRE_HOME ( is optional)

Ответ 17

Удалите "C:\ProgramData\Oracle\Java\javapath\java.exe" из переменной "Путь" и добавьте свой путь в JDK bin. Это будет работать.

В моем случае я удалил вышеупомянутый путь и добавил мой путь JDK, который является "C:\Program Files\Java\jdk1.8.0_221\bin"

Ответ 18

Для Новой версии Java папка JavaPath расположена

64-битная ОС

"C:\Program Files (x86)\Common Files\Oracle\Java\javapath\"

X86

"C:\Program Files\Common Files\Oracle\Java\javapath\"