Как запускать Java из командной строки Windows

Введение
Java остаётся одной из наиболее используемых языков программирования. Она широко применяется в корпоративных решениях, веб-разработке, настольных приложениях и для Android. В Windows удобно запускать Java прямо из Командной строки (Command Prompt) для быстрого компилирования и проверки программ. Это руководство проведёт вас шаг за шагом: от проверки установки до постоянной настройки PATH и отладки типичных ошибок.
Ключевые термины (одной строкой):
- JDK — комплект разработки Java (Java Development Kit), содержит компилятор javac и инструменты разработки.
- JRE — среда выполнения Java (Java Runtime Environment), нужна только для запуска уже скомпилированных программ.
- PATH — системная переменная, определяющая список папок, в которых Windows ищет исполняемые файлы.
- JAVA_HOME — переменная, указывающая на корневую папку установки JDK.
Проверка установки Java
Откройте Командную строку (Command Prompt) от имени администратора и выполните:
java -versionЕсли Java установлена, вы увидите строку с версией (например, OpenJDK или Oracle JDK и номер версии). Если Windows отвечает: “java не является внутренней или внешней командой”, значит Java не установлена или её папка bin не добавлена в PATH.

Важно: запуск от администратора не обязателен для проверки версии, но полезен при установке и изменении переменных среды.
Установка Java в Windows с помощью WinGet
WinGet — пакетный менеджер Windows. Если он есть у вас в системе, установка JDK выполняется быстро.
- Откройте Command Prompt или PowerShell от имени администратора.
- Найдите нужную сборку OpenJDK (список можно увидеть на официальной странице или через winget search).
- Установите пакет командой-шаблоном:
winget install Microsoft.OpenJDK.<номер_версии>Пример: если желаете LTS-версию 21, то установите соответствующий пакет (имя пакета может отличаться — уточните через winget search).

При установке вместе с JDK могут появиться дополнительные компоненты (например, Microsoft Build of OpenJDK). В конце вы увидите статус “Successfully installed” или аналог на русском.

Примечание: если WinGet не распознаётся, установите или обновите App Installer через Microsoft Store.
Классическая установка JDK (через сайт Oracle или сборки OpenJDK)
- Перейдите на официальный сайт Oracle или на страницу поставщика OpenJDK (Adoptium, BellSoft, Microsoft и т.д.).
- Скачайте JDK: для большинства современных систем выберите x64-установщик (.exe) или MSI.
- Запустите инсталлятор и следуйте подсказкам. Если у вас нет учётной записи Oracle, потребуется регистрация для дистрибутива Oracle.

Во время установки обратите внимание на папку установки, обычно это C:\Program Files\Java\jdk-<версия>. Запомните или скопируйте этот путь — он потребуется для настройки PATH и JAVA_HOME.

Если установка занимает много времени, закройте ненужные приложения и попробуйте снова.
Как скомпилировать и запустить простую Java-программу
- Создайте файл HelloWorld.java в любом текстовом редакторе (Notepad, VS Code, Notepad++). Обратите внимание: расширение должно быть .java.
Пример корректного кода Java (исправленный и рабочий):
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}- Сохраните файл как HelloWorld.java.

- Откройте Командную строку и перейдите в папку с файлом:
cd %USERPROFILE%\Documents\JavaProgramsИли используйте путь к вашей папке:
cd C:\путь\к\папке
- Скомпилируйте файл командой:
javac HelloWorld.javaЕсли компиляция прошла успешно, в папке появится файл HelloWorld.class — байт-код Java.

- Запустите скомпилированный класс:
java HelloWorldВы увидите вывод:
Hello, World!
Пример программы для арифметики (работающий минимальный пример):
public class Sum {
public static void main(String[] args) {
int a = 5, b = 3; // замените числа по необходимости
System.out.println("Sum: " + (a + b));
}
}Скомпилируйте и запустите так же: javac Sum.java, java Sum.

Полезные команды и сниппет-читшит
- javac *.java — скомпилировать все .java-файлы в текущей папке
- javac -Xlint Hello.java — показывать предупреждения компилятора
- java -version — показать версию установленной Java
- echo %JAVA_HOME% — показать значение переменной JAVA_HOME в командной строке
- setx JAVA_HOME “C:\Program Files\Java\jdk-21” /M — установить JAVA_HOME глобально (требует прав администратора)
- setx PATH “%PATH%;%JAVA_HOME%\bin” /M — добавить бин-папку JDK в PATH глобально
Частые флаги javac и java полезны при разработке; для production-сборок чаще используют сборщики (Maven/Gradle).
Постоянная настройка PATH и JAVA_HOME
Чтобы не указывать путь к javac и java каждый раз вручную, добавьте папку bin JDK в переменную PATH и задайте JAVA_HOME.
Шаги:
- Откройте Панель управления → Система и безопасность → Система → Дополнительные параметры системы.
- На вкладке Дополнительно нажмите «Переменные среды».
- В системных переменных создайте новую переменную JAVA_HOME и укажите путь к корню JDK, например C:\Program Files\Java\jdk-21.
- Выберите системную переменную Path → Изменить → Создать и добавьте %JAVA_HOME%\bin.
- Нажмите OK и перезагрузите Командную строку.

После изменения перезапустите окно Командной строки и проверьте java -version и javac -version.

Важно: добавляйте путь именно к JDK (не к JRE), чтобы иметь доступ к компилятору javac.
Когда это не сработает — типичные ошибки и решения
- “java не является внутренней или внешней командой” — добавьте %JAVA_HOME%\bin в PATH и откройте новое окно CMD.
- Различие версий: у вас может быть несколько JDK; проверьте, какую версию возвращает java -version и javac -version. Если они разные, PATH указывает на другую установку.
- Права доступа при сохранении файла — ошибка “You don’t have permission to save in this location”: проверьте владельца папки и права в свойствах → Безопасность → Дополнительно → Изменить владельца на ваш аккаунт.
- Командная строка ничего не выводит при запуске программы — проверьте, не запущен ли исполняемый файл в режиме совместимости с правами администратора: Properties → Compatibility → снимите флажок “Запускать эту программу от имени администратора”.
Mermaid-диаграмма для быстрой диагностики (если ваш редактор поддерживает Mermaid):
flowchart TD
A[Начало: попытка запустить java] --> B{java -version возвращает версию?}
B -- Да --> C{javac -version возвращает версию?}
B -- Нет --> D[Проверить PATH и переменные
JAVA_HOME → добавить %JAVA_HOME%\\bin]
C -- Да --> E[Запустить java ]
C -- Нет --> F[Установить JDK или добавить javac в PATH]
E --> G[Если ошибка в выполнении → проверить лог/исключения]
F --> D
G --> H[Если не помогло → проверить несколько установок Java на системе] Мини-методология: как быстро локализовать проблему при запуске Java
- Проверка окружения: java -version && javac -version.
- Проверка путей: echo %JAVA_HOME% && echo %PATH%.
- Тестовый проект: минимальный HelloWorld.java, компиляция и запуск.
- Проверка прав: запуск CMD от имени администратора и проверка свойств папки.
- Если используется IDE — сверка конфигурации проекта с системной JDK.
Роли и чек-листы
Разработчик (временная/локальная среда):
- Установить JDK LTS.
- Добавить %JAVA_HOME% и %JAVA_HOME%\bin в системные переменные.
- Скомпилировать и запустить HelloWorld.
- Настроить IDE (IntelliJ/VS Code/Eclipse) на ту же JDK.
Студент / начинающий:
- Установить OpenJDK через WinGet или официальный установщик.
- Практиковаться с Notepad и CMD: javac и java.
- Изучать ошибки компиляции и предупреждения от javac -Xlint.
Системный администратор:
- Включить системную установку JDK через MSI или пакетный менеджер.
- Настроить переменные среды глобально через Group Policy (если нужно).
- Контролировать версии и периодически обновлять LTS-сборки.
Критерии приёмки
- java -version и javac -version возвращают ожидаемую версию.
- Компиляция HelloWorld.java даёт .class файл.
- java HelloWorld выводит ожидаемый текст.
- Переменные окружения корректно настроены и доступны в новых терминалах.
Безопасность и приватность
- Скачивайте JDK только с официальных сайтов или доверенных сборок OpenJDK.
- Не давайте прав администратора неизвестным инсталляторам.
- Если используете сборки от сторонних поставщиков, проверяйте подписи и контрольные суммы.
- Не храните чувствительные данные (ключи, пароли) в исходниках; используйте переменные окружения или менеджеры секретов.
Альтернативные подходы
- Используйте контейнеры (Docker) для воспроизводимого окружения Java. Это особенно полезно для CI/CD и изоляции версий.
- Используйте SDKMAN! (на платформах Unix-подобных) или choco для Windows как альтернативы WinGet.
- Развёртывание через пакеты MSI/EXE для массовых установок в корпоративной среде.
Когда запуск из Командной строки не подходит
- Для крупных проектов удобнее использовать сборщики (Maven, Gradle), которые управляют зависимостями и сборкой.
- Для быстрых тестов и отладки GUI-приложений часто удобнее IDE с интегрированным запуском и дебаггером.
Часто задаваемые вопросы
Как исправить ошибку “You don’t have permission to save in this location” при сохранении Java-файлов?
Откройте свойства папки в Проводнике → Безопасность → Дополнительные параметры → Изменить владельца на ваш пользовательский аккаунт. Нажмите “Проверить имена” при вводе имени, чтобы убедиться, что указали правильный аккаунт. Нажмите OK и примените изменения.
Как исправить “Java is not recognized as an internal or external command”?
Добавьте путь к папке bin вашей установки JDK в системную переменную Path и/или задайте JAVA_HOME, затем перезапустите терминал.
Командная строка не показывает результат выполнения Java-программы. Что делать?
Попробуйте открыть Командную строку не от имени администратора. Если проблема остаётся, проверьте свойства исполняемого java.exe → Совместимость и снимите флажок “Запускать эту программу от имени администратора”.
В чём разница между Java и JavaScript?
- Java — это язык со статической типизацией, компилируемый в байт-код и исполняемый в JVM.
- JavaScript — динамический язык, обычно интерпретируемый в браузере или в средах типа Node.js.
- У Java — система классов, у JavaScript — прототипная модель наследования.
- Исторически Java появилась раньше, но это независимые технологии с разными областями применения.
Проверочные тесты и кейсы приёмки
- Тест 1: Установка JDK, проверка javac и java, компиляция HelloWorld.
- Тест 2: Добавление %JAVA_HOME%\bin в PATH, перезапуск CMD, проверка доступности javac без указания полного пути.
- Тест 3: Несколько JDK установлены — проверить, какая версия используется по умолчанию и привести к единой при необходимости.
Сниппеты для быстрого использования
- Установить JAVA_HOME и добавить в PATH (PowerShell, от администратора):
setx JAVA_HOME "C:\Program Files\Java\jdk-21" /M
$old = [Environment]::GetEnvironmentVariable('Path',[EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable('Path', $old + ';' + "C:\Program Files\Java\jdk-21\bin", [EnvironmentVariableTarget]::Machine)- Быстрая компиляция и запуск в одной строке (Windows PowerShell):
javac HelloWorld.java; if ($?) { java HelloWorld }Локальные особенности и советы для России
- При скачивании с официального сайта Oracle возможно потребуется регистрация; для локальной разработки достаточно сборок OpenJDK (Adoptium, Microsoft OpenJDK).
- Корпоративные политики часто запрещают прямой доступ к внешним репозиториям; используйте внутренние зеркала или одобренные пакеты .msi.
Заключение
Запуск Java из Командной строки в Windows — простая и универсальная практика для быстрой проверки, обучения и автоматизации. Главное — правильно установить JDK, настроить переменные среды и использовать короткие тестовые программы для валидации окружения.
Важно: после любых изменений переменных среды всегда перезапускайте окна терминалов или IDE для применения новых значений.
Краткое резюме и следующие шаги:
- Проверьте java -version и javac -version.
- Установите JDK (WinGet или официальный установщик).
- Настройте JAVA_HOME и PATH.
- Скомпилируйте и запустите HelloWorld.
- Перейдите к использованию сборщиков и IDE, когда освоите базовые команды.
Спасибо за чтение. Удачи в разработке на Java!
Похожие материалы
Как отключить TabTip.exe в Windows 11
Стили в LibreOffice Writer: руководство
Разные обои в WhatsApp для светлой и тёмной темы
Добавить свои звуки уведомлений в macOS
Изменение DNS в Linux через Network Manager