KotlinのコルーチンとSpringのWebClinetを使って外部APIの呼び出しを並列化する処理(実装)を実行したら以下のような実行時エラーが発生
java.lang.ClassNotFoundException: kotlinx.coroutines.reactive.AwaitKt
java.lang.ClassNotFoundException: kotlinx.coroutines.reactive.AwaitKt
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 org.springframework.web.reactive.function.client.WebClientExtensionsKt.awaitExchange(WebClientExtensions.kt:73) ~[spring-webflux-5.2.11.RELEASE.jar:5.2.11.RELEASE]
・・・省略・・・
gradleのdependencyが一つ足りていなかった。
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor")
Springの公式ページに載っている通り2つ依存を追加する必要があった。
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:${coroutinesVersion}")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:${coroutinesVersion}")
}
依存を追加して無事動作することを確認
コメントを残す