В данной статье мы рассмотрим, как исправить ошибку «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Данная ошибка может возникнуть при попытке запуска команды java в командной строке Windows. Первая причина ошибки – отсутствие установленной Java в системе. Вторая причина ошибки – Java установлена, но некорректно настроена. Давайте разберёмся, как это исправить.
Есть два пакета Java – JRE для запуска программ, написанных на Java и JDK – набор инструментов для разработки ПО на Java. Если вам требуется только запускаться программы, вам потребуется лишь JRE, если вы планируете разрабатывать программы – вам потребуется JDK.
Шаг 1. Установка Java
Сначала нужно определить, есть ли у вас в системе установленная Java. Проверьте следующие каталоги в системе:
%PROGRAMFILES%Java
%PROGRAMFILES(X86)%Java
Если какой-то из этих каталогов открывается и вы видите Java, значит, она установлена и её требуется настроить.
Если вы не находите подобных каталогов, вам потребуется установить Java. Как скачать, установить и настроить Java, вы можете узнать на этой странице – Установка JDK в Windows
Шаг 2. Настройте Java
Итак, вы установили Java. Теперь её нужно немного настроить, чтобы можно было запускать её из командной строки.
Выполните в командной строке команду:
control /name microsoft.system
Откроется окно «Система». Нажмите на «Дополнительные параметры системы» и в открывшемся окне нажмите кнопку «Переменные среды…»
В окне «Переменные среды» нажмите кнопку «Создать…»
Укажите следующие значения полей:
Имя переменной: JAVA_HOME
Значение переменной: <путь к установленной Java>bin
Нажмите «OK».
В окне «Переменные среды» выберите переменную «Path» и нажмите кнопку «Изменить»:
В открывшемся окне нажмите кнопку «Создать» и введите значение %JAVA_HOME%bin
Нажмите «OK».
Шаг 3. Проверка установки
Откройте командную строку (Win+R, введите cmd):
В командной строке введите следующую команду для проверки установленной Java:
java -version
Если вы видите корректный вывод программы наподобие этого, значит, вы корректно установили и настроили Java.
Если же вы снова видите ошибку «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.», значит, вы некорректно установили или настроили Java. Вернитесь на несколько шагов ранее и проверьте, что вы всё делаете правильно.
Заключение
В данной статье вы научились решать ошибку «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.» Вы научились скачивать, устанавливать и настраивать Java.
In case you are using a laptop and do not have the PauseBreak button.
For windows 10 users with 20h2 and above:
1 WIN → type «About your PC» → scroll at the bottom → Advanced system settings → Environment variables or WIN+R → shell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee}
to open Classic System Properties → on the left side → Advanced system settings → Environment variables
Also for Windows 10 and Windows 7:
1 WIN → This PC → properties → Advanced system settings → Environment variables
- In the System variables section click on New…
- In Variable name write:
JAVA_HOME
- In Variable value write:
C:Program FilesJavajdk-15.0.2bin
, press OK
I have taken steps 2-4 from Vijay Bhatt
There is a bit faster way to set a system variable. Run a console (terminal) as an administrator.
General command synax to add a new variable:
setx variableName value /M
In our example, we would need to set it as
setx JAVA_HOME "C:Program FilesJavajdk-15.0.2bin" /M`
Like this:
/M
— flag specifies to set the variable in the system environment.
After command execution, you should see the message:
SUCCESS: Specified value was saved.
How can I check that it is added?
- Close your active terminal;
- Open your favorite terminal;
- Type
java -version
.
You should see something similar to this:
Notice:
User variables can be created w/o having a root (administrator privileges), whereas to create System variable
; You need to open a console as a root.
I have used C:Program FilesJavajdk-15.0.2bin
as an example, in your case, it could be different from mine.
In case you are using a laptop and do not have the PauseBreak button.
For windows 10 users with 20h2 and above:
1 WIN → type «About your PC» → scroll at the bottom → Advanced system settings → Environment variables or WIN+R → shell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee}
to open Classic System Properties → on the left side → Advanced system settings → Environment variables
Also for Windows 10 and Windows 7:
1 WIN → This PC → properties → Advanced system settings → Environment variables
- In the System variables section click on New…
- In Variable name write:
JAVA_HOME
- In Variable value write:
C:Program FilesJavajdk-15.0.2bin
, press OK
I have taken steps 2-4 from Vijay Bhatt
There is a bit faster way to set a system variable. Run a console (terminal) as an administrator.
General command synax to add a new variable:
setx variableName value /M
In our example, we would need to set it as
setx JAVA_HOME "C:Program FilesJavajdk-15.0.2bin" /M`
Like this:
/M
— flag specifies to set the variable in the system environment.
After command execution, you should see the message:
SUCCESS: Specified value was saved.
How can I check that it is added?
- Close your active terminal;
- Open your favorite terminal;
- Type
java -version
.
You should see something similar to this:
Notice:
User variables can be created w/o having a root (administrator privileges), whereas to create System variable
; You need to open a console as a root.
I have used C:Program FilesJavajdk-15.0.2bin
as an example, in your case, it could be different from mine.
При компиляции кода через командную строку, с помощью команды javac, выдается вот такая ошибка
Путь к bin прописан. Вроде все правильно, но все равно выдает ошибку. В чем может быть дело?
insolor
44.1k15 золотых знаков52 серебряных знака92 бронзовых знака
задан 3 авг 2017 в 17:24
1
Причина ошибки — заданы некорректные «переменные среды». Соответственно, необходимо указать правильные.
На рабочем столе откройте «Этот компьютер»:
- Нажмите слева вверху «Свойства», затем слева в меню —
«Дополнительные параметры системы». - В открывшейся вкладке «Дополнительно» в самом низу выберите
«Переменные среды». - Откроется содержимое. Нажмите в каждом окне поочередно «Создать».
- В окне «Новая пользовательская переменная» пропишите CLASSPATH.
- Затем в окне «Новая системная переменная» укажите переменную PATH. В
поле «Значение» пропишите директорию к пакету JDK. - Перезагрузите Windows.
Кроме того, чтобы выполнить Javac, вы можете в командной строке прописать полный путь к консоли. К примеру: C:Program FilesJavajdk1.8.0_102binjavac.exe" MyFile.java
Источник
ответ дан 3 авг 2017 в 17:28
1
Если не помогло, добавление в CLASSPATH, то добавь тот же самый путь в PATH, если там уже что-то есть то добавляй через точку с запятой ‘;’
ответ дан 24 ноя 2017 в 16:50
IvanIvan
111 бронзовый знак
1
Если после добавления путей ничего не поменялось, то сделай копии папок jdk в Programm Files/java и Programm Files(x86)/java
ответ дан 4 фев 2019 в 16:34
Небольшое дополнение, путь в переменных мы прописываем до папочки bin, иначе работать не будет. Пример:
C:Program FilesJavajdk1.8.0_201bin
Перезагружаться скорее всего не понадобиться, но обязательно перезапустите командную строку.
ответ дан 13 апр 2019 в 6:17
Надо перенести JAVA_HOME
в самое начало переменной PATH
, чтобы она была раньше стандартного пути, который прописался при установке:
C:Program Files (x86)Common FilesOracleJavajavapath
0xdb
51.2k194 золотых знака56 серебряных знаков227 бронзовых знаков
ответ дан 26 авг 2018 в 10:03
AndrewAndrew
1198 бронзовых знаков
-
Причина ошибки
-
Исправление
Работая с Java кодом через консоль, может появится ошибка: “javac не является внутренней или внешней командой”. Как ее исправить читайте в этой статье.
Причина ошибки
Причина ошибки – заданы некорректные “переменные среды”. Соответственно, необходимо указать правильные.
Исправление
На рабочем столе откройте “Этот компьютер”:
- Нажмите слева вверху “Свойства”, затем слева в меню – “Дополнительные параметры системы”.
- В открывшейся вкладке “Дополнительно” в самом низу выберите “Переменные среды”.
- Откроется содержимое. Нажмите в каждом окне поочередно “Создать”.
- В окне “Новая пользовательская переменная” пропишите CLASSPATH.
- Затем в окне “Новая системная переменная” укажите переменную PATH. В поле “Значение” пропишите директорию к пакету JDK.
- Перезагрузите Windows.
Кроме того, чтобы выполнить Javac, вы можете в командной строке прописать полный путь к консоли. К примеру:
"C:Program FilesJavajdk1.8.0_102binjavac.exe" MyFile.java
Рекомендую также не забывать про обновления Java. Чтобы их не пропустить, используйте программу Java Update Available.
Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?
При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.
- Причины ошибки
- Способы исправить ошибку Не является внутренней или внешней командой
- Видео инструкция
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
команда параметр1 параметр2
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Как исправить ошибку
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папке
C:Usersимя_пользователяAppDataLocalProgramsPythonPython39
pip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
cd полный_путь_к_папке_с_исполняемым_файлом
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
- Введите в поиск на панели задач Windows 10 или Windows 11 «Изменение переменных среды» или нажмите клавиши Win+R, введите sysdm.cpl, нажмите Enter, а в окне свойств системы перейдите на вкладку «Дополнительно».
- Нажмите кнопку «Переменные среды».
- В следующем окне вы можете добавить папку с исполняемым файлом в переменную PATH только для текущего пользователя или для системы в целом. Выбираем Path в нижней панели и нажимаем «Изменить».
- В следующем окне нажимаем «Создать» и вставляем путь к папке с исполняемым файлом, используемом в вашей команде.
- Сохраняем настройки. Также следует перезапустить командную строку.
Готово: если всё было указано верно, теперь вы сможете выполнять соответствующие команды без указания полного пути к исполняемым файлам, а сообщение об ошибке появляться не будет.
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
В ситуации, когда сообщение «Не является внутренней или внешней командой» в командной строке выдается при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:
- Внимательно проверьте правильность написания команды: раскладка, пробелы.
- Убедитесь, что соответствующие файлы есть в системе (обычно — в C:WindowsSystem32). Попробуйте запустить их напрямую из этой папки (перейдя в папку с помощью cd C:WindowsSystem32) и с указанием расширения, для файлов в примере — sfc.exe и slmgr.vbs
- Убедитесь, что в системной переменной среды PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
WindowsTen » Инструкции » Исправляем ошибку: «javac не является внутренней или внешней командой»
Работая с Java кодом через консоль, может появится ошибка: «javac не является внутренней или внешней командой». Как ее исправить читайте в этой статье.
Причина ошибки
Причина ошибки — заданы некорректные «переменные среды». Соответственно, необходимо указать правильные.
Исправление
На рабочем столе откройте «Этот компьютер»:
- Нажмите слева вверху «Свойства», затем слева в меню — «Дополнительные параметры системы».
- В открывшейся вкладке «Дополнительно» в самом низу выберите «Переменные среды».
- Откроется содержимое. Нажмите в каждом окне поочередно «Создать».
- В окне «Новая пользовательская переменная» пропишите CLASSPATH.
- Затем в окне «Новая системная переменная» укажите переменную PATH. В поле «Значение» пропишите директорию к пакету JDK.
- Перезагрузите Windows.
Кроме того, чтобы выполнить Javac, вы можете в командной строке прописать полный путь к консоли. К примеру:
"C:Program FilesJavajdk1.8.0_102binjavac.exe" MyFile.java
Рекомендую также не забывать про обновления Java. Чтобы их не пропустить, используйте программу Java Update Available.
Хороший сайт? Может подписаться?
Рассылка новостей из мира IT, полезных компьютерных трюков, интересных и познавательных статей. Всем подписчикам бесплатная компьютерная помощь.