TL;DR
- 自分の場合、
Dependency Management Plugin
によってOkHttp
のバージョンが書き換わったことが原因だったcom.squareup.okhttp3:okhttp:4.x
が期待される所でcom.squareup.okhttp3:okhttp:3.14.9
が利用されていた
gradle
のdependencies
に利用したいバージョンのOkHttp
を追加することで問題が解決した
本文
以下、問題の詳細やその他の情報について書きます。
Dependency Management Plugin
周りの話
Dependency Management Plugin
周りの詳細な話は別記事としてQiita
に投稿しています。
qiita.com
なぜこの問題が起きるのか
com.squareup.okhttp3:okhttp:4.x
と3.x
の間には互換性が有りません。
特にKotlin
の利用の有無は大きな違いです。
直接的なエラーの原因は、Kotlin
によって生成されるであろうフィールドにアクセスしようとして失敗していることです。
Spring
側の更新がされていない理由
README
で言及されている通り、com.squareup.okhttp3:okhttp:3.x
は既に更新が終了している状態です。
github.com
にも関わらずSpring
側のバージョン指定が更新されていない理由は以下の通りです(issue
内のやり取りから要約)。
SpringFramework
がcom.squareup.okhttp3:okhttp:3.x
に依存しているSpringFramework
はKotlin
に限ったプロジェクトではないため、Kotlin
にも依存するcom.squareup.okhttp3:okhttp:4.x
に移行することはできない