Не удается найти файл c programdata oracle java javapath java exe
Обновлено: 21.11.2024
В настоящее время я тестирую JRE 8 Update 171, но заметил, что символические ссылки для java.exe, javaw.exe и javaws.exe в C:\ProgramData\Oracle\Java\javapath не создано больше? На самом деле вся папка javapath не создается.
Это ожидается в этом выпуске? Я не вижу ничего в примечаниях к выпуску, где бы упоминалось об этом, но я испытал это на нескольких машинах (все с Windows 7 Enterprise SP1 x64) и пробовал как ручную, так и автоматическую установку с тем же результатом.
Заранее спасибо.
Ответы
У меня точно такой же вопрос, и отсутствующая символическая ссылка javapath вызвала у нас массу проблем. Пока что единственным решением для нас является откат к предыдущей версии JRE, u161. Я хотел бы услышать, было ли это намеренно, или оплошность. Откат к менее безопасной версии JRE или необходимость написания сценария для решения проблемы невероятно утомительны.
Майкл, я еще не тестировал, но похоже, что папка javapath была перемещена в это место: "C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
по моему опыту, если вы обновляете предыдущую версию Java 8, символические ссылки в c:\programdata будут обновлены.
Однако, если это совершенно новая установка u171 или если вы выполняете обновление с Java7 до Java8, javapath c:\programdata создан не будет.
Вопрос в том, сделано ли это намеренно или это ошибка?
На случай, если это кому-нибудь поможет.
Что мы делаем, чтобы справиться с этим, так это обновляем наши ярлыки, чтобы использовать следующую строку:
"C:\Windows\System32\cmd.exe" /c ЗАПУСК javaw.exe
Мы выдвигаем ярлыки Java с помощью групповой политики, и, хотя я могу вызывать javaw в командной строке без явного пути, групповая политика не позволяет нам выдвигать ярлыки без явного пути. То же самое, если попытаться сделать ярлык вручную. Если я просто укажу «javaw.exe» для цели, ярлык автоматически добавит javapath к ярлыку. К сожалению, это просто означает, что ярлык не будет работать при новой установке в следующий раз, когда Java решит снова произвольно изменить javapath. Таким образом, приведенная выше строка должна быть более устойчивой к таким изменениям. до тех пор, пока cmd.exe остается в том же месте, что и раньше.
Однако Java нужно выбрать схему и придерживаться ее. Эти произвольные изменения без уведомления и ничего в примечаниях к выпуску кажутся действительно дилетантскими.
Я использую JDK 8u25 в Windows 8, и у меня возникла проблема с установкой Java. Я могу отлично запустить javac, но запуск java выдает это сообщение об ошибке:
Как это исправить?
Я думаю, что проблема связана с моими переменными среды.
- JAVA_HOME – C:\Program Files\Java\jdk1.8.0_25
- ПУТЬ К КЛАССУ – .;%JAVA_HOME%\lib
- ПУТЬ — ;%JAVA_HOME%\bin
- JAVA_HOME – C:\Program Files\Java\jdk1.8.0_25
- ПУТЬ К КЛАССУ – .;C:\Program Files\Java\jdk1.8.0_25\lib;%ПУТЬ К КЛАССУ%;
- ПУТЬ — C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.6.0_45\bin;;C:\Program Files\Java\jdk1.8.0_25\bin
Полный вывод set можно посмотреть здесь.
@johny То, что я сделал, похоже на сообщение по ссылке. Мне не нужна \lib в конце пути к классам? Пробовал и с ним и без. Я по-прежнему получаю сообщение об ошибке при попытке запустить файл класса.
Ваш скриншот имеет странный символ вместо \ . Почему? Не могу опознать персонажа. Вероятно, не стоит раскрывать переменные среды. Вы должны показывать только релевантные
19 ответов 19
У меня есть похожая проблема, над решением которой я сейчас работаю. Я не могу сказать, что это решит вашу ошибку, так как могут быть проблемы с другим программным обеспечением (как в моем случае с Eclipse Luna).
Java использует путь, указанный в вашей переменной PATH, то есть
Перейдите в эту папку (ProgramData скрыта, поэтому при необходимости отобразите ее) и щелкните правой кнопкой мыши символическую ссылку java.exe. В поле «Цель» вы увидите, где он ищет java.exe. Это может указывать на файл java.exe из вашей предыдущей установки jdk1.6.0_45. Либо вставьте сюда новые ярлыки, либо измените параметр PATH, как уже упоминалось другими.
Я обнаружил, что установщик Java не меняет javapath и не обновляет системный путь, по крайней мере, при переходе с 1.8 на 1.7. В моем случае изменение ярлыков привело только к проблеме с Eclipse при запуске.
EDIT: ----- После игры с ярлыками папок javapath выясняется, что вам нужны символические ссылки, по крайней мере, для Eclipse. См. Windows, как создать символическую ссылку на каталог.
Вы пытаетесь запустить приложение или программу на основе Java и получаете сообщение об ошибке: "Системе не удается найти файл C:\ProgramData\Oracle\Java\javapath\java.exe"?
Похоже, что символические ссылки не созданы должным образом, когда вы установили Java.Когда вы устанавливаете Java, он создает символические ссылки для java.exe, javaw.exe и javaws.exe в папке «C:\ProgramData\Oracle\Java\javapath\».
Если вы не найдете папку с символической ссылкой «C:\ProgramData\Oracle\Java\javapath\» на своем компьютере, вы получите сообщение «Система не может найти файл C:\ProgramData\Oracle\Java\javapath\java. exe».
Есть несколько вариантов решения этой проблемы.
Обновите переменную PATH, указав правильную символическую ссылку
Возможно, ваша новая установка изменила путь символической ссылки «javapath». Если символическая ссылка «javapath» не найдена в «C:\ProgramData\Oracle\Java\javapath\», проверьте ее в «C:\Program Files (x86)\Common Files\Oracle\Java», если она найдена, обновите Переменная PATH с «C:\Program Files (x86)\Common Files\Oracle\Java\javapath».
Восстановите символические ссылки
Если вы не найдете символическую ссылку «javapath» в папке «C:\ProgramData\Oracle\Java\», мы восстановим папку символической ссылки вместе с java.exe, javaw.exe и javaws.exe, выполнив следующую команду:
Обновите переменную PATH, указав правильный путь установки Java
Если ни один из вышеперечисленных вариантов вам не подходит, вы можете попробовать обновить переменную PATH, указав папку установки Java, которая у вас есть в «C:\Program Files\Java», и удалить «C:\ProgramData\Oracle\Java». \javapath\».
Если вы не хотите удалять запись «javapath», по крайней мере убедитесь, что правильный путь Java указан вверху списка.
Например, «C:\Program Files\Java\jdk1.8.0_271\bin» — это путь разработки Java, который вы хотите указать. Затем вам нужно убедиться, что этот путь находится вверху списка PATH.
Часто задаваемые вопросы
Как добавить/обновить путь установки Java в списке переменных окружения PATH?
Вы можете изменить эту переменную PATH, выполнив следующие действия:
- На рабочем столе щелкните правой кнопкой мыши «Этот компьютер» или «Мой компьютер».
- Выберите «Свойства». Откроется панель управления.
- Выберите «Дополнительные параметры системы», откроется «Свойства системы».
- Нажмите кнопку «Переменные среды», расположенную в нижней части диалогового окна «Свойства системы».
- Откроется диалоговое окно «Переменные среды».
- Найдите переменную «Путь» в разделе «Системные переменные».
- Добавьте или обновите правильный ПУТЬ к корзине Java
Нужно ли устанавливать JAVA_HOME?
Если вы работаете над Java-разработкой, лучше установить JAVA_HOME в качестве переменной среды в разделе «Системные переменные». Некоторые IDE или серверы ссылаются на комплект разработки Java, используя переменную JAVA_HOME. Таким образом, при отсутствии переменной вы можете столкнуться с проблемами при запуске IDE или сервера.
Похожие сообщения:
сообщить об этом объявлении
При установке JRE 8 Update 171 для Windows x64 установщик Java (как .exe, так и Enterprise Installer) добавляет к переменной среды Windows 32-разрядный путь:
C:\Program Files ( x86)\Common Files\Oracle\Java\javapath
Предыдущие 64-разрядные версии Java 8 (8 Update162 и более ранние версии) добавляют 64-разрядный путь: C:\ProgramData\Oracle\Java\javapath к переменной среды Windows Path.
Проблему можно воспроизвести, выполнив следующие действия:
<р>1. Удалить все установки Java <р>2. Очистите все устаревшие ключи реестра с помощью regedit <р>3. Очистите все устаревшие структуры файлов/папок <р>4. Вручную удалите любой javapath из переменной пути Windows, если он существует после удаления Javaа. Откройте панель управления системой
б. Нажмите Дополнительные параметры системы
. <р>в. Нажмите Переменные среды.д. В разделе Системные переменные дважды щелкните переменную Путь
. <р>т.е. Удалите любой путь javapath, если он есть <р>5. Перезагрузить систему <р>6. Используйте regedit, чтобы убедиться, что ключи реестра Java или файловые артефакты не остались <р>7. Убедитесь, что путь Windows PATH не содержит javapath. <р>8. Установите JRE 8u162 <р>9. Убедитесь, что перед переменной System Path теперь стоит 64-битный путь: C:\ProgramData\Oracle\Java\javapath; <р>10. Удалить JRE 8u162 <р>11. Убедитесь, что путь Windows PATH не содержит javapath. <р>12. Установите JRE 8u171 <р>13. Убедитесь, что перед переменной System Path стоит 32-битный путь: C:\Program Files (x86)\Common Files\Oracle\Java\javapath;Причина
Для просмотра полной информации войдите в свою учетную запись My Oracle Support.
У вас нет учетной записи My Oracle Support? Нажмите, чтобы начать!
В этом документе
Симптомы |
Причина |
Решение |
My Oracle Support предоставляет клиентам доступ к более чем миллиону статей знаний и активному сообществу поддержки, состоящему из коллег и экспертов Oracle.
Oracle использует новый способ установки переменных среды для JDK 8 в Windows. Недавно я загрузил JDK 8 и установил его, но не смог вернуться к JDK 7, изменив переменную среды PATH. И я всегда получаю 1.8 при запуске java -version. Даже в переменной окружения PATH не указан каталог bin JDK 8.
Я просто не могу понять, как он находит нужный java.exe, я искал везде, переменную PATH, JAVA_HOME и системные настройки Windows - Дополнительно - переменная среды. Ни один из них не содержит каталога, указывающего на каталог bin JDK 8.
Наконец-то я нашел эту запись в переменной окружения PATH, и это первая запись.
Он содержит три файла символических ссылок, указывающих на java.exe, javaw.exe и javaw.exe. Это первая запись в системной переменной PATH, поэтому она имеет наивысший приоритет. Я должен сказать, что это не очень хороший способ настроить среду пути java bin. И это усложняет переключение между разными версиями JDK.
Почему? Во-первых, он использует символическую ссылку, которая очень похожа на Linux, многие пользователи Windows не знают, как обращаться с символической ссылкой, я уверен, что это верно и для многих пользователей *inux, я думаю, что Oracle хочет быть более кроссплатформенным, но это неправильно направление. Во-вторых, это нарушает соглашение и совместимость, к которым привыкли все пользователи.
Как более гибко переключать версию JDK в cmd
Вы можете либо добавить свой собственный каталог к PATH, чтобы перезаписать каталог Oracle, либо следовать соглашению о добавлении в конец переменной PATH, как это всегда делалось. Я предпочитаю второй, вот как это сделать.
Сначала удалите C:\ProgramData\Oracle\Java\javapath, затем подготовьте два файла bat
В BACKUPPATH хранится старая переменная среды PATH, потому что нам нужно добавить в конец другой каталог bin JDK. Мы должны сделать резервную копию исходной переменной PATH в BACKUPPATH при запуске окна cmd, вы можете создать ярлык для cmd.exe и щелкнуть его правой кнопкой мыши, вставить следующий код в целевое поле
Когда вы открываете cmd по этой ссылке быстрого доступа, startup.bat будет выполнен, вы можете добавить следующий код в файл запуска
Мы будем использовать эту переменную для восстановления переменной PATH и добавления каталога JDK bin в конец.
Теперь вам не нужно беспокоиться об использовании разных JDK в одной системе, когда вам нужен JDK 8, который необходим для многих более новых версий пакетов, например Lucene 6.0.0, который был собран с JDK 8 просто запустите jdk8.bat, а для устаревших систем запустите jdk7.bat, он будет совместим с большинством из них.
Читайте также: