"Системе не удается найти файл 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 можно посмотреть здесь.

22 ответа

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

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

  C:\ProgramData\Oracle\Java\javapath

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

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

РЕДАКТИРОВАТЬ:----- После игры с ярлыками папок javapath оказывается, что вам нужны символические ссылки, по крайней мере для Eclipse. Смотрите, как создать Windows символическую ссылку 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"

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

Почему 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 (если они существовали ранее)

Я имел в 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 и т. д.

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

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

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

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

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

ht tps://stackru.com/images/b6d57478ec808f40e6c441f89a6c1c0ed1060a77.png

Обновление переменной среды 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.

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

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

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

Есть 2 версии JDK в вашем PATH VARIABLEjdk1.6.0_45 а также jdk1.8.0_25, Попробуйте удалить первый т.е. jdk1.6.0_45 от PATH

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

При условии, что

  1. ваша винда PATH включает в себя C:\ProgramData\Oracle\Java\javapath
  2. у вас установлен 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

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

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

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

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

JAVA_HOME
CLASSPATH
PATH
JRE_HOME ( is optional)

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

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

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

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

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

Мне помогло......:-)

У меня это работало так: На рабочем столе перейдите вSearch->View advanced system settings->Environment VariablesВ разделе «Системные переменные» найдите путь и нажмитеEdit. Нажмите наNewи добавьте новый путь и переместите его наверх. Чтобы найти свой путь к Java, если вы не знаете, где он установлен, введите cmdwhere javac

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

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

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

Для Новой версии Java находится папка JavaPath.

64-битная ОС

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

X86

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

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

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

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

Я получил то же самое после установки java8 с не разрешенной учетной записи. Чтобы исправить я просто переустановил из учетной записи администратора. Это создало каталог в кавычках со ссылками на файлы Java-файлов.

<>\Common Files\Oracle\Java\javapath\ теперь создается как соединение, символических ссылок больше нет

Столкнулся с той же проблемой при обновлении до OpenJDK17 с JDK8 и получил эту ошибку при выполнении Java-версии в cmd.

Исправлено: перейдите по пути C:\Program Files\Java\jdk-17\bin, скопируйте файлы java.exe и javaw.exe , перейдите по пути C:\ProgramData\Oracle\Java\javapath и удалите существующие ярлыки (раньше у меня была Java 8). это и ярлыки были помещены в java.exe, javaw.exe и javaws.exe.) и вставьте туда эти два файла.

Другие вопросы по тегам