2015-10-06 10 views
7

依存関係のツリーに複数回依存関係がある場合、その依存関係のすべてのバージョンが同じであっても、Eclipseは(POMのDependency Hierarchyタブで)すべてが1つであると言うでしょうXXXと一緒に)」グループID、案件ID、バージョンはすべて同じです。Eclipse Mavenが同じバージョンの依存関係を競合していると言っているのはなぜですか?

ここでは、ランダムに選択された依存関係を持つ簡単な例を示します。 maven-modelとmaven-artifactに注意してください。

maven-core dependency conflict same versions

私はEclipseの火星(4.5.0)を使用してい

これは、任意のUIで誤解を招くメッセージのほかに、何に影響を与えていていないようです。本当に紛争を見たいと思っているのならば、 "紛争のために省略された..."と思うのはちょっと面倒です。

答えて

8

Eclipseの「Dependency Hierarchy」タブは、M2Eclipseプラグインによって作成されます。そして、残念ながら、これはM2Eclipseプラグインsource codeの中にハードコードされているようです。依存関係が削除された理由(複製、バージョンの競合など)が何であれ、M2Eclipseプラグインは "conflict for confl with"というラベルを追加します。

これはmaven-dependency-plugintreeゴールの場合ではなく、このタブから出力を模倣していることに注意してください。デフォルトでは、コマンドmvn dependency:treeは省略された依存関係を表示しません。 verboseフラグがtrueに設定されている場合、出力には省略されたすべての依存関係が表示されます。他のバージョンおよび/またはスコープと競合する。依存関係ツリーにサイクルを導入すること。

拡張要求をthrough their Bugzillaに送信して、dependency:treeの出力でプラグインがより遵守するようにすることができました(たとえば、依存関係が省略された現在のデフォルト)、冗長モードと冗長モードを切り替えるオプションを追加します。

+1

ああ、リンクをありがとう、また私に依存性を示すために:ツリーの目標。 BTW誰かが興味があれば、私は彼らがコードを変更した場所を見ています(以前のバージョンのEclipseでこれをしなかったことを忘れてしまいました。これが、私が違う行動を期待した理由です):https://github.com/eclipse/m2e-core/commit/85527e1eb1638654d8f33a7106900ef9d1158bc2#diff-96f1c3968edb48388ea2673b2dd6e8e4L809は、パフォーマンスを向上させるために他の多くの変更と共に同等のバージョンチェックを削除したようです。 – tobii

+0

@tobiiニースが見つかりました! – Tunaki

関連する問題