Kotlin: ошибка Unresolved reference в IntelliJ IDEA — что делать?
Основная причина: неправильная настройка SDK или модуля
Ошибка "Unresolved reference" в Kotlin для базовых функций (main, println) почти всегда связана с тем, что IntelliJ IDEA не видит Kotlin runtime библиотеки. Даже если вы указали версию Kotlin в Gradle, среда может не подключить её автоматически к модулю. Вот пошаговая инструкция, как это исправить.
Шаг 1. Проверьте структуру проекта (File -> Project Structure)
- Нажмите
Ctrl+Alt+Shift+S(илиCmd+;на macOS). - Перейдите в раздел Project. Убедитесь, что выбран Project SDK (например, JDK 17 или 21). Если SDK не выбран — нажмите "Add SDK" и укажите путь к JDK.
- Перейдите в Modules -> выберите ваш модуль (обычно "main"). Вкладка Dependencies должна содержать строку
Kotlin Java Virtual Machine(илиkotlin-stdlib). Если её нет — нажмите "+" -> "Library" -> "KotlinJavaRuntime".
Шаг 2. Пересоберите Gradle-модель
Если зависимости в Gradle правильные, но IDE их не видит:
// Откройте build.gradle.kts и убедитесь, что там есть:
plugins {
kotlin("jvm") version "1.9.0"
}
dependencies {
implementation(kotlin("stdlib"))
}
Затем выполните:
- Нажмите на значок слона (Gradle) справа -> кнопка Reload All Gradle Projects.
- Или в терминале:
./gradlew clean build --refresh-dependencies.
Шаг 3. Сбросьте кеш IDE (если не помогло)
Иногда IntelliJ застревает со старыми индексами:
File -> Invalidate Caches / Restart...
Выберите: "Invalidate and Restart"
Шаг 4. Проверьте версию плагина Kotlin
Перейдите в Settings -> Plugins. Убедитесь, что плагин Kotlin установлен и включён. Версия плагина должна совпадать с версией Kotlin в проекте (1.9.0). Если нет — обновите плагин через Marketplace.
Пример рабочего минимального проекта
Чтобы исключить проблемы, создайте новый проект без Gradle:
File -> New -> Project
Выберите: Kotlin -> JVM
НЕ ставьте галочку "Gradle" — создайте пустой проект.
Создайте файл Main.kt и напишите:
fun main() {
println("Test")
}
Если в этом простом проекте ошибка исчезла — значит проблема именно в конфигурации Gradle. Сравните настройки.
Если ничего не помогает
Попробуйте удалить папки .idea и .gradle в корне проекта, затем открыть проект заново (File -> Open). Это полностью пересоздаст конфигурацию IDE.
После этих шагов ошибка "Unresolved reference" исчезнет. В 95% случаев проблема решается на шаге 1 или 2.
<<Альтернативный подход: проверка файла build.gradle.kts и sourceSets
Если стандартные шаги не помогли, возможно, у вас неправильно настроена структура папок. Kotlin ожидает, что исходные файлы лежат в src/main/kotlin, но иногда Gradle или IDEA путают sourceSets.
Откройте build.gradle.kts и явно укажите директорию:
kotlin {
sourceSets {
main {
kotlin.srcDirs("src/main/kotlin")
}
}
}
Затем пересинхронизируйте Gradle (Reload All Projects).
Ещё одна причина: конфликт версий Kotlin
Если у вас в проекте используется несколько модулей или библиотек, может возникнуть конфликт версий Kotlin. Проверьте, что все зависимости используют одну и ту же версию Kotlin (например, 1.9.0). В терминале выполните:
./gradlew dependencies
Посмотрите, нет ли строк вида kotlin-stdlib-1.8.0 рядом с kotlin-stdlib-1.9.0. Если есть — добавьте в build.gradle.kts:
configurations.all {
resolutionStrategy {
force("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
}
}
После этого снова перезагрузите Gradle и пересоберите проект.
Ответов пока нет.
Войдите чтобы оставить ответ