Окошко «Error: Could not create the Java Virtual Machine» или «A JNI error has occurred» на ноутбуке с Windows 11: точный перевод с языка Java и решение за 2 минуты!
Маленькое серое системное окошко «Java Virtual Machine Launcher» с крестиком способно испортить и вечер пятницы с друзьями в Minecraft, и утро понедельника бухгалтеру в корпоративном банк-клиенте / ЭДО / приложении таможенного декларирования, и рабочий день аналитику баз данных в DBeaver / Apache JMeter / Android Studio!
Самое ценное, что вы сейчас узнаете: ДВА похожих на вид сообщения в этом окошке на самом деле означают ДВЕ Совершенно Разные Проблемы, и каждая чинится ровно за одну минуту без переустановки Windows!
Таблица точного диагноза: прочитайте Первую строчку внутри белого окошка ошибки!
| Точный текст в белом окошке ошибки | Что произошло на самом деле | 100 %-ное решение за 60 секунд! |
|---|---|---|
| Error: Could not create the Java Virtual Machine. A fatal exception has occurred. Program will exit. | Конфликт лимита памяти -Xmx (или забытая глобальная переменная _JAVA_OPTIONS = -Xmx512M в системе!!) либо попытка выделить 4+ ГБ памяти на старой 32-разрядной Java x86 вместо 64-разрядной Java x64! | 1) Удалить вредную глобальную переменную _JAVA_OPTIONS в переменных среды Windows; 2) Установить 64-разрядную Java x64 вместо 32-битной! |
| Error: A JNI error has occurred, please check your installation and try again (и ниже часто приписано UnsupportedClassVersionError: class file version 61.0 / 65.0!) | Несовпадение поколений Java! Современная программа скомпилирована под свежую Java 17 (version 61.0) или Java 21 (version 65.0), а в системной переменной PATH вашего ноутбука по умолчанию первой откликается древняя Java 8 (version 52.0) с сайта java.com! | Установить актуальный бесплатный открытый пакет Eclipse Adoptium Temurin OpenJDK 21 LTS (x64) — ошибка JNI error исчезнет в ту же секунду! |
Главный секрет № 1 (спасает 80 % ноутбуков!): найдите и удалите «проклятую» системную переменную _JAVA_OPTIONS!
Откуда вообще на тысячах ноутбуков берётся загадочный лимит памяти, при котором вы выделяете программе 4 гигабайта, а она всё равно падает со словами Could not create the Java Virtual Machine?! Когда-то раньше какая-то старая программа-установщик или пиратский лаунчер тихо прописали в глобальные Переменные среды Windows строчку _JAVA_OPTIONS = -Xmx256M или -Xmx512M! Эта глобальная переменная насильно перебивает настройки ВСЕХ Java-программ на вашем ноутбуке!
Проверьте и удалите её за 15 секунд:
- Нажмите Win + R, введите sysdm.cpl и нажмите Enter.
- Перейдите на вкладку «Дополнительно» и нажмите внизу кнопку «Переменные среды...».
- Внимательно просмотрите оба списка (верхний «Переменные пользователя» и нижний «Системные переменные»): видите там строчку с названием _JAVA_OPTIONS?!
- Выделите её кликом мыши, нажмите «Удалить -> ОК -> ОК»! Попробуйте тут же запустить вашу программу — в 8 случаях из 10 она стартует мгновенно!
Секрет № 2 (важнейшее знание 2026 года!): почему с сайта java.com скачивается Древняя Java 8 из 2014 года, и где брать настоящую современную Java 17 / 21 LTS!
Это самый частый подвох в мире:
- обычный пользователь пишет в поиске «Скачать Java для Windows», заходит на старый потребительский сайт java.com и качает оттуда установщик. Но на сайте java.com раздаётся Исключительно старая Java 8 для старых банковских апплетов (да ещё и по умолчанию часто скачивается её 32-битная версия, которая физически не может выделить больше 1,4 ГБ памяти!!)!
- А все современные версии Minecraft (1.18–1.20 требуют Java 17, а 1.20.5 / 1.21+ требуют Java 21!), серверы разработки, DBeaver, Jenkins и корпоративные утилиты требуют современную 64-разрядную OpenJDK 17 или OpenJDK 21 LTS!
- Скачайте абсолютно бесплатную, эталонную для всего мирового IT-сообщества сборку Eclipse Temurin OpenJDK 21 (LTS) Windows x64 .msi с официального портала фонда Eclipse Adoptium (adoptium.net) или Microsoft Build of OpenJDK — при установке поставьте галочку «Add to PATH / Set JAVA_HOME variable», и в терминале команда java -version гордо покажет 21.x LTS 64-Bit Server VM!
А если бухгалтеру на одном ноутбуке нужны Одновременно и старая Java 8 для госзакупок/банк-клиента, и новая Java 21 для современных программ?!
Никакой проблемы — они прекрасно уживаются на одном ноутбуке!
- Оставьте в системном PATH нужную основную версию, а в ярлыке запуска конкретной второй программы укажите прямой полный путь к её собственному файлу javaw.exe (например: "C:\Program Files\Java\jre1.8.0_xxx\bin\javaw.exe" -jar client.jar)!
Комфортный запуск тяжёлых Java-приложений и аналитических сред напрямую зависит от быстрого SSD и достаточного объёма двухканальной ОЗУ (16–32 ГБ), чтобы виртуальная машина JVM Heap не вытеснялась в файл подкачки — загляните в наши подборки ноутбуков для 1С и бухгалтерии, корпоративных ноутбуков ThinkPad и EliteBook и статью апгрейд оперативной памяти и SSD в ноутбуке, где ресурс каждого узла подтверждён цифровым паспортом ноутбука (см. также гарантию 12 месяцев и правила сервиса).
Чек-лист правильного выделения памяти -Xmx (почему «больше» НЕ значит «лучше»!)
- [ ] Частая ошибка новичков в модовых сборках Minecraft: имея на ноутбуке 16 ГБ ОЗУ, человек ставит ползунок выделенной памяти для игры на 14–15 ГБ! И получает либо мгновенную ошибку Could not create the Java Virtual Machine (потому что самой Windows 11 и видеодрайверу уже занято 4,5 ГБ!), либо ужасные подвисания сборщика мусора Garbage Collector! Идеальная золотая формула: при 16 ГБ ОЗУ выделяйте Java не более 6–8 ГБ (-Xmx6G / -Xmx8G), а при 8 ГБ ОЗУ — аккуратные 3,5–4 ГБ!
Частые вопросы
Как за 2 секунды проверить в терминале ноутбука, какая именно версия и разрядность Java откликается у меня сейчас по умолчанию?
Откройте командную строку (Win + R -> cmd) и введите короткую команду java -version.
- Если в третьей строчке ответа написано 64-Bit Server VM — у вас правильная 64-разрядная машина!
- А если слово 64-Bit отсутствует (написано просто Client VM) — у вас установлена старая 32-разрядная версия: удалите её через «Установленные приложения» и поставьте x64!
Нужно ли обновлять внешнюю Java на ноутбуке, если я играю только через официальный лицензионный лаунчер Minecraft?
Официальный лаунчер (и современные грамотные лаунчеры вроде Prism Launcher / Modrinth App) скачивают свою изолированную портативную папку OpenJDK 17 / 21 автоматически внутрь себя! Ошибка случается тогда, когда вы запускаете отдельный сервер server.jar, установщик OptiFine / Fabric / NeoForge .jar двойным кликом или вручную указали путь к старой системной Java 8 в настройках профиля.
Почему двойной клик по файлу .jar на ноутбуке открывает его как обычный архив в WinRAR вместо запуска программы?!
Классика! При установке WinRAR вы оставили галочку захвата ассоциации файлов .jar! Щёлкните правой кнопкой по файлу .jar → «Открыть с помощью -> Выбрать другое приложение -> найти Java(TM) Platform SE binary / OpenJDK Platform binary (javaw.exe в папке bin вашей Java!) -> Всегда» — и все .jar-установщики снова начнут запускаться двойным кликом как программы!
Официальные источники и техническая документация
- Официальный портал загрузки бесплатных LTS-сборок с открытым исходным кодом Eclipse Temurin OpenJDK (Java 8, 11, 17, 21) от фонда Eclipse Foundation:
- Официальная документация Microsoft Build of OpenJDK по установке и настройке переменных PATH и JAVA_HOME в Windows 11:
- Справочник кодов версий байт-кода UnsupportedClassVersionError (52.0 = Java 8, 61.0 = Java 17, 65.0 = Java 21) в официальной документации Oracle Java SE:
- Руководство поддержки Minecraft Help Center по системным требованиям к версии Java и устранению сбоев запуска Java Edition:
- Справка Oracle Java по удалению устаревших 32-разрядных версий JRE в Windows: