Spring Boot 无法访问类“Kotlin.coroutines. CoroutineContext”,请检查模块类路径以查找缺少的依赖项或存在冲突的依赖项

chhqkbe1  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(257)

我最近开始在Kotlin中编写Sping Boot 应用程序。我打算使用Kotlin协程。我已经在Gradle文件中添加了所有必需的依赖项,但IDE一直显示以下错误:

  1. Cannot access class 'kotlin.coroutines.CoroutineContext'. Check your module classpath for missing or conflicting dependencies

字符串
下面是我编写的示例代码:

  1. fun createThread(): MyThread {
  2. GlobalScope.async {
  3. openApiService.createThread()
  4. }.await()
  5. }


以下是我的Gradle文件:

  1. import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
  2. plugins {
  3. id("org.springframework.boot") version "3.2.1"
  4. id("io.spring.dependency-management") version "1.1.4"
  5. kotlin("jvm") version "1.9.21"
  6. kotlin("plugin.spring") version "1.9.21"
  7. }
  8. group = "<mypackage>"
  9. version = "0.0.1-SNAPSHOT"
  10. java {
  11. sourceCompatibility = JavaVersion.VERSION_17
  12. }
  13. repositories {
  14. mavenCentral()
  15. }
  16. dependencies {
  17. implementation("org.springframework.boot:spring-boot-starter")
  18. implementation("org.springframework.boot:spring-boot-starter-web")
  19. implementation("org.jetbrains.kotlin:kotlin-reflect")
  20. implementation("org.jetbrains.kotlin:kotlin-stdlib")
  21. implementation("com.aallam.openai:openai-client:3.6.2")
  22. implementation("io.ktor:ktor-client-java:2.3.2")
  23. implementation("com.theokanning.openai-gpt3-java:service:0.18.2")
  24. implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
  25. implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3")
  26. testImplementation("org.springframework.boot:spring-boot-starter-test")
  27. }
  28. tasks.withType<KotlinCompile> {
  29. kotlinOptions {
  30. freeCompilerArgs += "-Xjsr305=strict"
  31. jvmTarget = "17"
  32. }
  33. }
  34. tasks.withType<Test> {
  35. useJUnitPlatform()
  36. }

lfapxunr

lfapxunr1#

如果您有正确的导入(看起来确实如此),这可能是由缓存问题引起的。
如果你使用的是Intellij,你可能想“无效缓存并重新启动”。你可以在 * 文件 * 菜单中找到。这里有一个link to the official page
另一个尝试是从/.m2/repository文件夹中删除maven缓存。如果该文件夹不在默认位置,可以使用以下命令找到它:

  1. mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout

字符串
如果使用gradle,您还可以从/.gradle/caches/文件夹中删除该缓存。

相关问题