Ошибка Project has no JDK configured появляется в IntelliJ IDEA сразу после открытия проекта, когда среда разработки не находит привязанный к нему комплект Java Development Kit (JDK) — без него не работают ни подсветка кода, ни компиляция, ни запуск. Чаще всего проблема возникает после переустановки IDEA, импорта чужого проекта, обновления Java или переноса проекта на другой компьютер, где путь к JDK отличается.
Хорошая новость в том, что сама ошибка не означает повреждения проекта: IDE просто не знает, какой интерпретатор Java использовать. Ниже разберём, как проверить установленные JDK, назначить Project SDK и устранить конфликт с системами сборки Maven и Gradle.
Почему возникает ошибка Project has no JDK configured
IntelliJ IDEA хранит привязку к JDK в настройках проекта (.idea/misc.xml и внутренних конфигурациях), а не в самом коде. Если указанный там путь перестал существовать — например, вы удалили старую версию Java или обновили её с изменением каталога установки — среда честно сообщает, что JDK не сконфигурирован.
Типичные сценарии появления ошибки:
- 🔧 Проект склонирован из репозитория, а на вашей машине другая версия Java или другой путь к ней.
- 📦 JDK вообще не установлен в системе — установлена только JRE или ничего.
- 🔄 IDEA обновлена, и настройки Project SDK сбросились или указывают на удалённую версию.
- 🧩 Модуль проекта использует собственный SDK, отличный от проектного, и он не задан.
⚠️ Внимание: наличие переменной окружения JAVA_HOME не гарантирует, что IDEA подхватит JDK автоматически. Среда использует собственный список SDK, поэтому настраивать его нужно отдельно через Project Structure.
Шаг 1. Проверьте, установлен ли JDK в системе
Прежде чем копаться в настройках IDE, убедитесь, что на компьютере вообще есть комплект разработчика. Откройте терминал или командную строку и выполните:
java -version
javac -version
Команда javac -version особенно показательна: если java работает, а javac не найден, у вас установлена только среда выполнения JRE, которой недостаточно для разработки. В этом случае потребуется установить полноценный JDK — например, Oracle JDK, OpenJDK, Temurin или Amazon Corretto.
К счастью, скачивать JDK вручную не обязательно: IntelliJ IDEA умеет загружать его прямо из диалога настройки SDK, о чём ниже.
Шаг 2. Назначьте Project SDK в настройках проекта
Основное место, где исправляется ошибка, — диалог Project Structure. Откройте его через меню File → Project Structure или сочетанием Ctrl+Alt+Shift+S (на macOS — Cmd+;).
Далее действуйте по шагам:
- 📁 В разделе Project Settings → Project найдите поле SDK.
- 🖱 Нажмите выпадающий список: если JDK уже есть в системе, IDEA может предложить обнаруженные варианты.
- ➕ Если список пуст, выберите Add SDK → JDK и укажите путь к каталогу установки Java (например,
C:\Program Files\Java\jdk-17). - ⬇️ Либо выберите Download JDK, укажите версию и вендора — IDEA скачает и настроит всё автоматически.
После выбора SDK убедитесь, что поле Language level соответствует версии Java проекта. Несоответствие уровня языка — частая причина того, что ошибка JDK уходит, но код с новыми конструкциями всё равно подсвечивается красным.
☑️ Настройка Project SDK
Шаг 3. Проверьте SDK у модулей
В многомодульных проектах каждый модуль может иметь собственный SDK. Бывает, что Project SDK задан корректно, а ошибка остаётся, потому что конкретный модуль ссылается на несуществующую версию Java.
Откройте File → Project Structure → Modules, выберите каждый модуль по очереди и посмотрите вкладку Dependencies. В поле Module SDK безопасный вариант — Project SDK: тогда модуль наследует общую настройку, и менять её придётся только в одном месте.
Особенности для проектов Maven и Gradle
Проекты с системами сборки добавляют ещё один уровень настроек: у Maven и Gradle есть собственный параметр JVM, который может отличаться от Project SDK. Если сборка падает, хотя код в редакторе выглядит нормально, проверьте именно эти настройки.
Для Gradle путь такой: Settings → Build, Execution, Deployment → Build Tools → Gradle, параметр Gradle JVM. Для Maven: Settings → Build Tools → Maven → Runner, поле JRE. Выберите там тот же JDK, что назначен проекту, либо вариант Use Project JDK.
⚠️ Внимание: после изменения SDK в настройках сборщика обязательно выполните реимпорт проекта — кнопка обновления в панели Maven/Gradle. Иначе IDE продолжит использовать старую конфигурацию из кэша.
Сравнение способов добавления JDK
| Способ | Когда подходит | Особенности |
|---|---|---|
| Download JDK в IDEA | JDK не установлен в системе | Выбор версии и вендора, автоустановка |
| Add SDK с указанием пути | JDK уже установлен | Нужно знать каталог установки |
| Автоопределение из списка | IDEA нашла JDK сама | Самый быстрый вариант |
| Project SDK для модулей | Многомодульный проект | Единая точка настройки |
Если ни один из способов не помог, попробуйте закрыть проект и открыть его заново через File → New → Project from Existing Sources — при повторном импорте IDEA пересоздаст конфигурацию и предложит выбрать SDK заново.
Где IDEA хранит настройки JDK
Список глобальных SDK хранится в конфигурационном каталоге IDE (файл jdk.table.xml внутри options), а привязка проекта — в файле .idea/misc.xml в корне проекта. Удалять эти файлы вручную стоит только при закрытой IDE и понимании последствий: настройки придётся задавать заново.
Что делать, если ошибка не исчезает
Иногда после всех настроек предупреждение остаётся на экране. В таком случае помогает инвалидация кэша: File → Invalidate Caches → Invalidate and Restart. IDE пересоздаст индексы и заново проанализирует привязку SDK.
Также проверьте, не открыт ли проект в режиме LightEdit или как простой каталог без импорта структуры — в этих режимах настройки SDK работают ограниченно. И убедитесь, что путь к JDK не содержит символов, которые могут некорректно обрабатываться: пробелы и кириллица в пути к JDK — редкая, но реальная причина сбоев определения SDK, поэтому надёжнее устанавливать Java в каталог с латинским именем.
⚠️ Внимание: не редактируйте файлы внутри каталога .idea вручную, пока проект открыт в IDE — изменения могут быть перезаписаны, а конфигурация повреждена.
FAQ: частые вопросы
Чем JDK отличается от JRE и почему JRE не подходит?
JRE (Java Runtime Environment) только запускает готовые программы, а JDK дополнительно содержит компилятор javac и инструменты разработки. IntelliJ IDEA для работы с проектом требует именно JDK.
Можно ли использовать разные версии Java для разных проектов?
Да. IDEA хранит список всех добавленных SDK, и каждому проекту назначается свой. Добавьте несколько JDK через Project Structure и переключайтесь между ними в поле SDK.
Ошибка появилась после git pull у коллеги. Что делать?
Вероятно, в репозиторий попал файл .idea/misc.xml с чужим путём к JDK. Назначьте свой Project SDK заново и обсудите с командой добавление локальных настроек в .gitignore.
Нужно ли прописывать JAVA_HOME для работы IDEA?
Для самой IDE — нет, она использует встроенный список SDK. Но JAVA_HOME может понадобиться для запуска Maven или Gradle из командной строки вне IDE.
IDEA предлагает скачать JDK — это безопасно?
Да, диалог Download JDK загружает сборки известных вендоров (OpenJDK, Temurin, Corretto и другие) с официальных источников. Это штатная функция среды разработки.