Kotlin

Kotlin 1.3にアップデートして Resource not found in class path: Kotlin/corountines/coroutines.kotlin_builtins が出たら

Kotlin 1.3がリリースされましたので、自社システムで使っているKotlinのバージョンもアップデートしました。

大きい非互換はないはずですが、pom.xmlのバージョンをアップデートしたらなんと自動的にソースコードからマイグレーションが必要な箇所を洗い出してくれます。特に修正が必要な箇所は指摘されませんでしたが。

CIにかけてみたところ、IllegalStateException: Resource not found in class path: Kotlin/corountines/coroutines.kotlin_builtins という見慣れない例外メッセージでテストが失敗します。残念ながら似た事例は見つかりません。

今回stableに昇格したコルーチンに関連するようですがまだ自社でコルーチンは使っていません。Kotlinに対する依存回りの問題だろうということで調べてみたらjsonの(デ)シリアライザであるmoshi-kotlinというライブラリがKotlinに依存していました。こちらがコンフリクトしていたようです。

以下の様にmoshi-kotlinへの依存から、Kotlinへの依存を外してみたところ解決しました。めでたしめでたし。