"Системе не удается найти файл 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 и переменными среды:
- Перейдите к диалогу переменных среды Windows.
- В разделе Системные переменные выберите переменную с именем Path. Нажмите Изменить...
-
Удалите запись, которая выглядит как:
C:\ProgramData\Oracle\Java\javapath
-
Добавьте путь к вашей папке bin
JDK/JRE.
- Не забудьте установить 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
Ответ 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\"