以下のようにbuild.gradle.ktsでkotlinx-coroutines-coreのバージョンを最新で試してみようと思ってバージョン指定したら、コルーチンの箇所で実行時エラーが発生。
plugins {
id("org.springframework.boot") version "2.3.6.RELEASE"
id("io.spring.dependency-management") version "1.0.10.RELEASE"
kotlin("jvm") version "1.3.72"
kotlin("plugin.spring") version "1.3.72"
}
・・・省略・・・
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1")
java.lang.ClassNotFoundException: kotlin.KotlinNothingValueException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
at kotlinx.coroutines.JobSupport.awaitSuspend(JobSupport.kt:1229) ~[kotlinx-coroutines-core-jvm-1.4.1.jar:na]
at kotlinx.coroutines.JobSupport.awaitInternal$kotlinx_coroutines_core(JobSupport.kt:1220) ~[kotlinx-coroutines-core-jvm-1.4.1.jar:na]
・・・省略・・・
以下のようにkotlinx-coroutines-coreのバージョンを指定しないように戻したら問題なく動作するようになった。バージョン指定しない方がいいのかな。
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core")
コルーチンのコードはこちらのものを使用。
コメントを残す