Referencia no resuelta de Kotlin en IntelliJ

93

Comencé con el tutorial para aprender Kotlin en IntelliJ. Cuando intenté ejecutar el ejemplo, es decir

fun main(args: Array<String>) {
 println("lol")
}

La ejecución se suspende con este mensaje. Error:(5, 5) Kotlin: Unresolved reference: println Esta es la primera vez que uso IntelliJ. JavaTampoco he trabajado en un proyecto. ¿Me falta algo?

Editar: Ya vi la otra pregunta, la respuesta no es válida para mi situación.

Anony-mouse
fuente
Versión Intellij IDEA? ¿Qué versión del complemento Kotlin está instalada?
D3xter
¿Qué opción seleccionó en el cuadro de diálogo de tiempo de ejecución de Kotlin?
yole
Lo instalé ayer
IDEA
Sí, también obtengo esto en el ejemplo "Hola mundo" usando Gradle y Netbeans. La construcción de Gradle funciona. También parece un problema de conexión con Netbeans. Por desgracia no hay actualizaciones recientes de los Netbeans plugins
se

Respuestas:

92

Su complemento Intellij IDEA y el tiempo de ejecución / compilador de Kotlin que usa en el proyecto deben coincidir. Por ejemplo, si el complemento IDE es Beta 1, pero su proyecto Gradle / Maven con M12, tendrá problemas exactamente como los describió. Así que comprueba que todo esté alineado.

Si aún tiene problemas, con algunos complementos más antiguos, debe borrar los cachés en Intellij IDEA (menú de archivo, Borrar cachés y reiniciar, seleccione la opción para reiniciar).

Jayson Minard
fuente
Una combinación de borrar cachés, actualizar Android Studio y el complemento kotlin me lo arregló. Gracias
user1405990
Hola de nuevo, con algo de tiempo para considerar las cosas y un poco de google-ing de Kotlin, no creo que la causa aquí esté EN los complementos per se . println está en el paquete kotlin.io . el JAR de Kotlin-stdlib tiene "kotlin.io" allí. Así que no hay problema en la superficie. He incluido explícitamente kotlin.io * - resultado.: Unresolved reference: io. Como archivo JAR, la resolución de referencia debería ser material de jardín de infantes. ¿¿¡Entonces que hay de nuevo!??
será el
Estoy de vuelta ... La gente de Netbeans también puede 'arreglar' esto - Elimine la caché de usuario de netbeans. Puede ver la ubicación del directorio de caché de Netbeans haciendo clic en el cuadro Ayuda / Acerca de. Limpiar - Detener Netbeans - Eliminar caché - reiniciar Netbeans - ¡reconstruir! Volia .
será el
Si está viendo este problema en su archivo de compilación de Gradle solo, pero no en los archivos fuente del proyecto, esto podría ayudar: discus.kotlinlang.org/t/…
AlexO
25

Si alguien se encuentra con esto y NINGUNO Invalidate Cache o Update Kotlin's Versiontrabaja:

1) Primero, asegúrese de poder construirlo desde fuera del IDE. Si está usando gradle, por ejemplo:

gradle clean build

Si todo va bien, es bueno trabajar con su entorno Kotlin.

2) Para corregir la compilación del IDE, intente lo siguiente :

Estructura del proyecto -> {Seleccionar módulo} -> Kotlin -> FIX

Como lo sugiere un miembro de JetBrain aquí: https://discuss.kotlinlang.org/t/intellij-kotlin-project-screw-up/597

Vinicio
fuente
13
Estoy usando Android Studio. No tengo una opción "Kotlin" en la estructura de mi proyecto> módulos. ¿Algunas ideas?
AutonomousApps
4
ni siquiera veo esta opción de kotlin después de seleccionar módulos ... usando Enterprise Intellij, y aparentemente kotlin ya está configurado cuando hago clic en herramientas -> kotlin -> configurar
heug
23

En mi caso, fue una instancia de IntelliJ mal configurada.

Estructura del proyecto -> SDK -> Eliminar y agregar el SDK de Java nuevamente

Martín Coll
fuente
Este fue mi problema después de eliminar OpenJDK e instalar Oracle JDK. Gracias.
Patrik Stas
Esto resolvió mi problema en IntelliJ 2019.3 y OpenJDK 11. Solo tenía que eliminar y agregar el SDK nuevamente.
z11i
10

Me encontré con este problema. Tuve que agregar lo siguiente a mi build.grade:

apply plugin: 'kotlin-android'

Mella
fuente
8

Ok, he estado aquí varias veces y no estoy completamente seguro de cómo o por qué sucede esto, pero la lectura sugiere que es una falta de coincidencia entre Kotlin / JVM. He intentado varias cosas mencionadas en esta página, pero no sin éxito total. Este era el tipo de síntoma que el IDE mostraba en el panel de mensajes después de intentar ejecutar pruebas a través del IDE. Sin embargo, el panel de código no tiene líneas rojas que indiquen que los módulos no se pueden encontrar o importar o que no haya ningún inconveniente.

ingrese la descripción de la imagen aquí

Mi proyecto (al momento de escribir esto) es un proyecto gradle 4.10.2 kotlin 1.3 en IntelliJ (IntelliJ IDEA 2018.2.5 (Ultimate Edition) Build # IU-182.4892.20, construido el 16 de octubre de 2018)

Para empezar, sin embargo, invalidé los cachés y reinicié. Luego ejecutó una construcción limpia de gradle. Después de reconstruir el proyecto todavía no hay alegría. Entré en la configuración del proyecto y noté que las versiones del compilador no estaban configuradas en java 8, configuré Compiler / Kotlin / Target JVM Version y Compiler / Java / Project Byte Code en 1.8 / 8 (ver más abajo), luego ejecuté algunas pruebas en el IDE y estamos de vuelta en el negocio! Referencias resueltas en mi caso.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Abierto sintonizado
fuente
Tuve un problema similar, pero también tuve que cambiar los módulos de mis módulos a la versión de JVM de destino correcta
Jake Walsh
4

Para mí, se debió a que al proyecto le faltaban las Bibliotecas Gradle en su estructura de proyecto.

Simplemente agregue build.gradle: apply plugin: 'idea'

Y luego ejecuta: $ gradle idea

Después de eso, gradle reconstruye las bibliotecas de dependencias y se reconocen las referencias.

R Lu
fuente
Éste es ayudado y trabajó debido a que faltan bibliotecas Gradle
Kaushik Burkule
3

Una posible solución para proyectos independientes de Kotlin es incluir las librerías estándar de Kotlin explícitamente dentro del proyecto raíz.

Para hacer eso en IntelliJ IDEA:

  • presione Ctrl + Shift + A (acciones u opciones de búsqueda)
  • escriba "Configurar kotlin en el proyecto" y deje que incluya bibliotecas estándar para usted
Antonio Martinović
fuente
3

Mi problema se resolvió agregando kotlinlo siguiente

Presentation.gradle (app.gradle)

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android' // here

apply plugin: 'kotlin-android-extensions' // and here

android {
    ...
}

dependencies {
    ...
}

dominio.gradle ( kotlin puro)

Mi error fue arrojado aquí, porque Android Studio creó mi módulo de dominio como módulo Java puro y aplicó el complemento como Java, y lo usé en mi módulo de presentación que es un módulo Android / Kotlin

Android Studio encuentra e importa la ruta del paquete, pero la incompatibilidad no permite la compilación.

Simplemente retire apply plugin: 'java'y cambie a kotlin de la siguiente manera

apply plugin: 'kotlin' // here is

dependencies {
    ...
}

...

data.gradle

apply plugin: 'com.android.library'

apply plugin: 'kotlin-android' // here

apply plugin: 'kotlin-android-extensions' // and here 

android {
    ...
}

dependencies {
    ..
}

Creo que sera de ayuda

Abner Escócio
fuente
1

Lo mismo sucedió con IDEA 14.1.5, Kotlin v.1.0.0-beta-1038-IJ141-17.
Kotlin obtiene su propia entrada de lista (como Java) al crear un nuevo proyecto, pero la única configuración que funcionaba era:

Nuevo | Proyecto | Java | "Kotlin (Java)" (asegúrese de que también tiene configurado el SDK del proyecto)
use library: Create, "Copy to: lib".

kaay
fuente
1

Intenté todo: limpiar carpetas de compilación, ejecutar gradle clean build, ejecutar AS invalidar caché (x2), reinstalar el complemento Kotlin, reiniciar la PC.

Pero al final, después de hacer todo esto, todavía no funcionó, pero al eliminar también del proyecto build.gradleesta línea apply plugin: 'kotlin-android-extensions':, sincronizar gradle y luego volver a agregar funcionó

Ultimo_m
fuente
1

Yo también estaba recibiendo este error, pero lo resolví usando el siguiente concepto.

  1. Reinicie su edición intellij idea community.
  2. Después de eso, vaya a la esquina derecha para establecer la configuración de java.

ingrese la descripción de la imagen aquí

  1. elija el ajuste de configuración para todos los módulos. luego vuelva a ejecutar el código. Funcionará.

Este error se debe a que no se configuró Java correctamente.

savigya singh
fuente
2
Lo siento, pero el 2. no está claro. No pude encontrar "la esquina derecha"
Deunz
1

A veces, esto podría suceder porque está intentando utilizar un proyecto con versiones incompatibles del complemento Kotlin en Gradle con el complemento en su IDE. Verifique las versiones de org.jetbrains.kotlin.jvm y otros complementos de Kotlin en build.gradle, y la versión del complemento de kotlin instalado en su IDE, e intente que sea similar:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Arkady
fuente
0

Me pasó hoy.

Mi problema era que tenía demasiadas pestañas abiertas (no sabía que estaban abiertas) con código fuente en ellas.

Si cierra todas las pestañas, tal vez desconfunda IntelliJ para indexar las dependencias correctamente

LeoColman
fuente
En realidad, esto tiene mucho sentido, la razón por la que obtienes una puntuación de -ngt es porque no lo explicaste bien. Si some1 tiene dos proyectos abiertos en IDE, digamos uno con Gradle y otro con Maven; ejecutar uno de los proyectos puede llevar a una referencia sin resolver.
HA S
0

La invalidación de cachés y la actualización del complemento Kotlin en Android Studio funcionó para mí.

André Ramon
fuente
0

Tuve este problema porque estaba intentando configurar una biblioteca multiplataforma.

Eliminé todos los conjuntos de fuentes con sus dependencias del archivo "build.gradle" pero mantuve el conjunto de fuentes "común".

Native funcionaba bien, pero la JVM no pudo compilarse y mostró su error.

Al final, la solución fue no eliminar el conjunto de origen de la JVM ni sus dependencias.

Alaa Sbateen
fuente
0

Otra cosa que me gustaría agregar es que debe seleccionar Ver -> Ventanas de herramientas -> Gradle antes de poder ejecutar el proyecto usando Gradle.

Si usa Gradle, el proyecto se compila y se ejecuta normalmente, pero no usa IntelliJ, entonces esto puede resolver el problema.

jairhumberto
fuente
0

Tuve este problema porque el linter estaba imprimiendo que mi objeto era una instancia de Foo mientras que el compilador no podía definir su tipo y considerar que era un Anyobjeto como (Era más complejo en mi caso, el linter muestra un error en el código siguiente pero el idea está aquí):

    class Foo {
        val bar: Int = 0
    }

    fun test(): Any {
        return Foo()
    }

    val foo = test()
    foo.bar // <-- Linter consider that foo is an Instance of Foo but not the compiler because it's an Any object so it show the error at compilation.

Para solucionarlo, tuve que lanzar mi objeto:

val foo = test() as Foo
Bubu
fuente
0

Compruebe e instale las actualizaciones de Android Studio. Esto soluciona el problema.

ingrese la descripción de la imagen aquí

usuario2912087
fuente
-1

A veces, en situaciones similares (no creo que sea su problema porque su caso es muy simple) vale la pena verificar el paquete de archivos kotlin.

Si tiene un archivo Kotlin dentro del mismo paquete y colocó allí algunas clases y se perdió la declaración del paquete, mira dentro del IntelliJ que tiene clases en el mismo paquete pero sin la definición del paquete, IntelliJ le muestra:

Error: (5, 5) Kotlin: Referencia sin resolver: ...

Przemek Nowak
fuente
-1

Solución más simple:

Herramientas-> Kotlin-> Configurar Kotin en el proyecto

Votar a favor si se encuentra útil.

Shivam Gaba
fuente
No hace nada: todos los módulos con archivos Kotlin están configurados
Deunz