はじめに
EclipseにてSpringBootによる開発をしており、pom.xmlを記述していたところ下記のように「Overriding managed version〜」と警告文が表示されました。
これによって動作に影響を及ぼすことはないらしいのですが(このエラーを残したままでもアプリは動作した)、この黄色の!マークが表示されているとスッキリしないので、今回はこのエラーについて調べ、消そうと思います。
親のpom.xmlの内容を確認
今回のエラーは子のpom.xmlの「mockito-core」のversionタグの行で発生しています。
このエラーは親のpom.xmlで既に定義済みであるものを、子のpom.xmlで定義を上書きすると発生するエラーです。
まずはエラーが表示されている子のpom.xmlを開いた状態で、**「概要」タブを押します。
お使いのEclipseの設定によっては「Overview」**と表示されています。
「親」と書いてある段の右にあるボタン「親POMを開く」ボタンを押します。
お使いのEclipseの設定によっては**「Open Parent POM」**と表示されています。
親のpom.xmlを開いたら**再度「概要」→「親POMを開く」**を押します。
この時のアーティファクトIdは「spring-boot-dependencies」です。
では、一段上の親のpom.xmlを開いたところで、問題の「mockito-core」がどのように定義されているかを確認しましょう。
下図のように<mockito.version>3.3.3</mockito.version>と記述されています。
ちなみに子のpom.xmlでは、「<version>2.22.0</version>」と定義していました。
子のpom.xmlのエラー行を削除
親のpom.xmlでは子のpom.xmlと異なったversion定義がなされていることがわかったところで、
今度はエラーを削除します。
エラーを引き起こしている行「<version>2.22.0</version>」を削除します。
行を削除した瞬間は黄色の!マークが表示されたままになるので、pom.xmlを保存しましょう。
そうするとマークは消えます。
以上です。
参考
https://qiita.com/shotah1215/items/f6ce566e7680d25a238e
https://www.yawintutor.com/warning-overriding-managed-version-maven/