首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kotlinx.coroutines基本示例无法识别GlobalScope.launch提供的CoroutineScope

kotlinx.coroutines基本示例无法识别GlobalScope.launch提供的CoroutineScope
EN

Stack Overflow用户
提问于 2018-11-07 01:36:01
回答 1查看 5.6K关注 0票数 5

我尝试使用最新的库版本运行https://github.com/Kotlin/kotlinx.coroutines/blob/master/docs/basics.md#your-first-coroutine示例,但在“延迟”函数中有一个错误告诉我:

只应从协同线或另一个挂起函数调用挂起函数‘延迟’。

当我运行代码时,会出现以下错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/coroutines/jvm/internal/CoroutineImpl
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at com.example.MainKt.main(Main.kt:6)
Caused by: java.lang.ClassNotFoundException: kotlin.coroutines.jvm.internal.CoroutineImpl
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more

这是我的gradle配置:

代码语言:javascript
复制
buildscript {
    ext.kotlin_version = '1.3.0'
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'

kotlin {
    experimental {
        coroutines 'enable'
    }
}

repositories {
    jcenter()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0"
}

以及示例中的代码:

代码语言:javascript
复制
package com.example

import kotlinx.coroutines.*

fun main(args: Array<String>) {
  GlobalScope.launch { // launch new coroutine in background and continue
    delay(1000L) // non-blocking delay for 1 second (default time unit is ms)
    println("World!") // print after delay
  }
  println("Hello,") // main thread continues while coroutine is delayed
  Thread.sleep(2000L) // block main thread for 2 seconds to keep JVM alive
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-07 03:21:32

将IDEA kotlin插件更新为1.3并重新启动IDEA

https://github.com/Kotlin/kotlinx.coroutines/issues/766

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53182554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档