LoginSignup
0
0

More than 1 year has passed since last update.

【Gradle】Dependency Management Pluginでライブラリの利用する依存が意図せず書き変わった状況への対処【Spring Boot】

Posted at

TL;DR

  • Dependency Management PluginSpring Boot Gradle Pluginなどから読み取ったバージョンでライブラリの利用する依存も書き換える
  • これによってライブラリの利用する依存が意図せず書き変わることがある
  • 書き換えられると困るライブラリはdependenciesに追加することで対処できる

本文

起きた問題

Spring Boot Gradle Plugin + Dependency Management Pluginの環境で、利用しているライブラリに不思議なエラーが発生しました。

原因

調査の中で./gradlew dependenciesの出力を確認した所、当該のライブラリが利用している依存のバージョンが下がっており、これによって当該のエラーが発生していることが分かりました。
下がった先のバージョンは./gradlew dependencyManagementの出力に記載されていたものと一致しました。

冒頭に書いた通り、Dependency Management PluginSpring Boot Gradle Pluginなどからバージョンでライブラリの利用する依存も書き換えます。
本来であれば、これによってプロジェクト全体のライブラリバージョンが揃えられることで、互換性による問題が回避されます。
一方、今回は書き換えによってエラーが発生していました。

対処

一番簡単な対応方法は、バージョンが書き変わると困るライブラリをdependenciesに追加することです(例では適当なライブラリを追加しています)。

build.gradle.kts
dependencies {
+  implementation("com.squareup.okhttp3:okhttp:4.9.3")
}

その他の書き換え方法はドキュメントに記載があります(個人的にextを書き換える方法も試しましたが、ドキュメントで言及されている通り、Springの方で定義されているプロパティが優先されてしまって機能しませんでした)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0