M2E:バージョンが親バージョンと重複しています - なぜこれは警告ですか?

私はいくつかの共通の機能を持っているか、少なくとも共通の設定/依存関係を持っているいくつかのMavenプロジェクトを持っています。これを共通のpom.xmlに展開し、次にこの親POMから継承したモジュール内で、永続性、Spring関連の依存性などのいくつかのファセットをモジュール化しました。

今のところ、 "Common"はバージョン1.0.0です。私はそれから継承したい "ProjectA"を持っています。私は警告を受け取ります:

バージョンは親バージョンと重複しています

なぜこれが警告であるのか完全にはわかりません。バージョンを継承するために私のプロジェクトPOMからバージョンを削除するオプションがあると思った。 (一般的なモジュールではこれを行います。たとえば、common-springはSpringアプリケーションの共通の依存関係を追加します。実際、ProjectAは実際には共通のSpringから継承しています)。

それだけではない - オプション? ProjectAのバージョンを1.0.1または2.0.0に変更すると、すべてがうまくいきます。

45
@Dougこれは修正されたようですが、下の私の答えを参照してください。
追加された 著者 Duncan Jones,
それが価値があることについては、私はPOMから継承するように注意しており、JARに依存しています。私はdependencyManagementで使用されるcommon.versionプロパティを宣言しています。これにより、ProjectAは共通のSpringから継承し、Common-io(共通から継承)に依存し、すべて同じバージョンです。
追加された 著者 Doug Moscrop,
それは公正です。私は水曜日にこれをやります。私は休暇中ですから(休暇のようなものはありません!)。私はそれがm2eの警告だと確信しています。
追加された 著者 Doug Moscrop,
この特定の警告はm2eclipseまたはMaven自体によって発行されますか? (Mavenがこのようなものを出す場合は、 mvn verify を使ってコマンドラインをチェックすることができます)。これ以外の場合は、可能ならば本当に問題の pom.xml ファイルを投稿してください。あなたの設定で何が起こっているのかを視覚化するのは難しいです。
追加された 著者 Kohányi Róbert,

3 答え

m2eの新しいバージョン(1.1以降)では、この警告を無効にすることができます。

Preferences > Maven > Warnings > Disable "Version is duplicate of parent version" warning

Original bug report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=356796

52
追加された
+1すると、環境設定でチェックすることができますが、離れて行くためには、Project> Maven> Update Projectを実行する必要があります
追加された 著者 slf,
@slf Eclipseの最新バージョンでは、環境設定でMavenのエラー/警告設定を変更して「適用」をクリックするとすぐにプロジェクトを更新するためのポップアップウィンドウが表示されます。
追加された 著者 informatik01,

バージョン要素(グループidなど)が冗長になり、親POMから継承できるため、巧妙にしようとするだけです。この要素をあなたの子POMから削除することは安全です。

But sometimes this is not a redundant information, like when the parent and the child project have different life cycles, and m2e should allow this warning to be disabled. Unfortunately there is no way to do this yet: http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01961.html

UPDATE: As Duncan says bellow, in newer versions you can disable this warning.

51
追加された

それが本当にあなたを悩ましているなら、財産を使って、狡猾な手のひらで警告を抑えましょう。

${api.version}

    0.0.1-SNAPSHOT

実際には警告をコンソール出力に移動するだけです:

[WARNING] Some problems were encountered while building the effective model for [project]
[WARNING] 'version' contains an expression but should be a constant.
2
追加された