2016-05-03 23 views
0

Maven依存関係の注入順序を自動的にチェックする必要があります。 Mavenモジュールでは、同じクラス名とパッケージを持つ2つの依存関係を取ります。一方の依存関係は常に他方の優先順位に優先すべきです。これは、Mavenの依存関係注入の順序のために最初に宣言する必要があることを意味します。Maven依存関係の順序チェック

それを依存関係ツリーで確認することは可能ですが、手動で行うことができますが、これを自動的にチェックする方法があります。

Mavenでこれを行うことが可能かどうか知っていますか?

+0

あなたが何を求めているかはあまり明確ではありません。クラスが同じ正準名を持たない場合、ほとんどの場合衝突しないでください。なぜ注文を読み込むのが問題なのですか? – rmlan

+0

Mavenは、2つのクラスが同じ正式名を持つ場合、宣言された最初の人を取るためです。私は常にパッチされたものがあり、コアからのものではないことを確かめるでしょう。 – Rumoch

+0

「コアのパッケージ名はch.a.productで、パッチのパッケージ名はch.b.product」は混乱しています。これはクラスが同じ正準名を持たないことを示唆しているからです。 – rmlan

答えて

0

まず、「依存性注入」は、オブジェクトを構築するときに必要なオブジェクトを「外部」から渡すための管理された魔法の仕組みです。

Mavenは、クラスパス内の依存関係jarを持つコードをコンパイルするだけです。 monkeypatchedクラスの任意の亜種は、あなたのコードが同じようにコンパイルできるようにする必要があります(破壊を最小限に抑えるために)重複または矛盾するMaven依存関係を避けるべきです。

Mavenが含まれていないときに、置き換えクラスを確実に実行すると、はアプリケーションがパッケージ化されて実行される方法によって解決される全く異なる問題です。たとえば、典型的なクラスパス・リスト内のjarの順序は信頼できるものでなければならず、ほとんどのアプリケーション・サーバーは、さまざまなグローバルおよびアプリケーション固有のクラスパスを相互に指定および上書きする方法を提供します。