コルーチン+WebClientで実行時エラー(ClassNotFoundException)

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}")
}

依存を追加して無事動作することを確認

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
little
15年以上プログラマーをしているエンジニアです。Kotlin, Java, Python, C++を使用したServerSideの開発に携わってきました。とりあえずやってみるスタイルで記事を更新していきます。