Creé el proyecto Gradle Java Kotlin. Quiero usar corrutinas pero obtengo un unresolved reference launch unresolved reference delay :
import java.util.* import kotlinx.coroutines.* fun main (args: Array<String>) { launch { // launch coroutine delay(1000L) println("World!") } println("Hello") }En build.gradle.kts incluí esta línea en el bloque de dependencias:
implementation("org.jetbrains.kotlinx", "kotlinx-coroutines-core", "1.5.2")EDITAR:
Mi archivo build.gradle.kts:
plugins { kotlin("jvm") version "1.5.10" java } group = "org.example" version = "1.0-SNAPSHOT" repositories { mavenCentral() } dependencies { implementation(kotlin("stdlib")) testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.0") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2") } tasks.getByName<Test>("test") { useJUnitPlatform() }EDIT2: Todo solucionado después de borrar el caché. Puedes hacerlo en Archivo->Invalidar cachés
Debe usar runBlocking aquí; de lo contrario, no habrá un Coroutine Scope al que pueda llamar launch y delay .
Ejemplo de trabajo muy similar al tuyo (tomado de tu primera rutina ):
fun main(args: Array<String>) = runBlocking { // this: CoroutineScope launch { // launch a new coroutine and continue delay(1000L) // non-blocking delay for 1 second (default time unit is ms) println("World!") // print after delay } println("Hello") // main coroutine continues while a previous one is delayed }Salida (como se esperaba):
Hello World! Si sigue experimentando mensajes de error del tipo Referencia no resuelta: … ,
puede intentar arreglar la implementation en su gradle.build.kts del que publicó en su pregunta,
implementation("org.jetbrains.kotlinx", "kotlinx-coroutines-core", "1.5.2")a esto:
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2")e intenta de nuevo. Espero que ayude…