Kotlin多模块Gradle项目中GlobalScope/runBlocking导入问题求助
Kotlin协程:GlobalScope和runBlocking无法找到正确导入路径
首先直接给你需要的正确导入语句:
GlobalScope属于kotlinx.coroutines核心库,正确导入:import kotlinx.coroutines.GlobalScoperunBlocking同样在kotlinx.coroutines包下,正确导入:import kotlinx.coroutines.runBlocking
为什么你会遇到找不到的问题?
看了你提供的build.gradle.kts配置,有一个明显的语法错误可能导致依赖没有正确引入:
在coroutines依赖的声明里,kotlin (多了一个空格,这会让Gradle无法正确解析这个依赖项。修正后的依赖配置应该是:
dependencies { compile(kotlin("stdlib-jdk8")) // 去掉kotlin和括号之间的空格 compile(kotlin("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0")) testCompile("junit", "junit", "4.12") }
另外,考虑到你使用的是Gradle 5.1.1,官方已经推荐使用implementation和testImplementation代替旧的compile和testCompile,所以更规范的依赖配置可以改成:
dependencies { implementation(kotlin("stdlib-jdk8")) // 这里也可以省略kotlin()包裹,直接写依赖坐标 implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0") testImplementation("junit:junit:4.12") }
修正导入后的完整示例代码
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking fun main() { GlobalScope.launch { delay(1000L) println("World!") } println("Hello,") // 用runBlocking替代Thread.sleep,更符合协程的使用习惯 runBlocking { delay(2000L) } }
最后可以验证一下:执行gradle dependencies命令,检查输出中是否包含org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0,确认依赖已经被正确拉取。
内容的提问来源于stack exchange,提问作者user51
相关产品推荐
相关产品推荐

