Что означает ошибка exit 1
При попытке запустить Java-приложение, сервер или IDE система выводит диалоговое окно с текстом: Java Virtual Machine Launcher has exited with code 1. Это значит, что процесс инициализации JVM прервался на раннем этапе. Лаунчер не смог передать управление виртуальной машине из-за невозможности найти исполняемые файлы, конфликта архитектур или блокировки доступа к необходимым ресурсам. Ошибка появляется как в пользовательских утилитах, так и в профессиональных средах разработки.
Причины возникновения
- Неверные пути в переменных окружения. Система не находит
java.exeилиjavaw.exe, потому чтоJAVA_HOMEилиPathуказаны некорректно или ссылаются на удалённый каталог. - Несоответствие разрядности. Вы пытаетесь запустить 64-битную JVM на 32-битной сборке Windows 10, либо наоборот. Архитектура лаунчера и ОС должны строго совпадать.
- Блокировка антивирусом или UAC. Защитные системы могут расценивать вызов
javaw.exeкак подозрительную активность, особенно при первом запуске скачанного.jarархива. - Повреждённый кэш или файлы установки. Сбой при предыдущем обновлении, некорректное удаление старой версии или сбой диска приводят к отсутствию критичных
.dllбиблиотек в директорииbin.
Способы решения
Способ 1: Проверка и настройка переменных окружения
- Нажмите
Win + R, введитеsysdm.cplи перейдите на вкладку «Дополнительно» → «Переменные среды». - В блоке «Переменные среды пользователя» найдите
JAVA_HOME. Значение должно вести в корень установленной JDK (например,C:\Program Files\Java\jdk-21). - Выделите переменную
Path, нажмите «Изменить» и убедитесь, что в списке присутствует%JAVA_HOME%\bin. - Если переменной нет, создайте её. После сохранения откройте командную строку и проверьте команду:
java -version
Если вы видите номер сборки, путь указан верно. Перезапустите лаунчер приложения.
Способ 2: Согласование разрядности Java и Windows
Убедитесь, что архитектура Java совпадает с архитектурой вашей ОС. Откройте Параметры → Система → О системе и проверьте строку «Тип системы».
- Для
64-разрядная ОСскачивайте дистрибутивы с пометкойx64илиWindows x64 Installer. - Для
32-разрядная ОСиспользуйтеx86илиWindows x86 Installer.
⚠️ Важно: Запуск 64-битного JVM на 32-битной Windows невозможен физически. Даже если установщик завершится успешно, лаунчер немедленно завершит работу с кодом
exit 1.
Способ 3: Запуск с повышенными правами и отключение блокировок
Иногда стандартные права пользователя не позволяют JVM создать временные файлы или обратиться к реестру.
- Найдите ярлык приложения или
.exeфайл лаунчера. - Нажмите правой кнопкой мыши → «Свойства».
- Перейдите на вкладку «Совместимость» и отметьте галочку «Запускать эту программу от имени администратора».
- Нажмите «Применить» и попробуйте запустить программу.
Если ошибка сохраняется, временно отключите антивирус или добавьте папку с Java в исключения защиты в реальном времени. Это поможет определить, блокирует ли система процесс javaw.exe.
Способ 4: Очистка кэша и переустановка JDK
Если файлы JVM повреждены, быстрое исправление не сработает. Выполните чистую установку:
- Удалите текущую версию через
Параметры→Приложения. - Удалите оставшиеся каталоги в
C:\Program Files\Java\иC:\Program Files (x86)\Java\. - Очистите кэш Java: откройте
Панель управления→Java→ вкладкаGeneral→ кнопкаSettings...→Delete Files...→ выберите все типы и подтвердите. - Скачайте официальный установщик с сайта Oracle или Adoptium, запустите его и перезагрузите компьютер.
Профилактика
Чтобы ошибка Java Virtual Machine Launcher не возвращалась, закрепите стабильные пути в системе и избегайте ручного копирования файлов JDK между ПК. Используйте пакетные менеджеры, например winget install OpenJDK.21, чтобы система автоматически управляла переменными окружения и версиями. Регулярно проверяйте свободное место на системном диске: при нехватке пространства JVM не сможет распаковать временные классы и завершится сбоем. При работе с несколькими версиями Java применяйте утилиты-менеджеры, которые позволяют переключать активную сборку одной командой без риска поломки системных путей.