0

私はかなり一般的な設定だと思うものを持っています。それぞれ独自の pom.xml を持つ 2 つのモジュールを含むプロジェクトがあります。その上に、サブモジュールに依存するプロジェクトの pom.xml があります。2 つのサブモジュールには、log4j という共有の依存関係があります。この依存関係をどのように処理すればよいですか? 各サブモジュールに依存関係として log4j を持たせるだけですか、それともより高いレベルのプロジェクト モジュールをプロジェクトの依存関係として主張する必要がありますか? 依存関係をリストする両方のサブモジュールがある場合、Maven はスマートで log4j を 1 回だけプルダウンしますか、それとも各サブモジュールは log4j の独自のプライベート コピーをプルダウンしますか? プロジェクト モジュールに依存関係がある場合、log4j パッケージはサブモジュールに対して適切なタイミングで利用できますか? この状況で何をしますか、または何をしましたか?

4

2 に答える 2

2

これを行う最善の方法は、dependencyManagementタグを使用することです。

依存関係管理セクションは、依存関係情報を一元化するためのメカニズムです。共通の親を継承する一連のプロジェクトがある場合、依存関係に関するすべての情報を共通の POM に配置し、子 POM のアーティファクトへの参照をより簡単にすることができます。

効果を要約すると、タグを親 pom に入れ、子に参照させます。ただし、バージョン番号は参照しません。利点は、いつでも親 pom の log4j のバージョンを更新できることです。すべての子 pom は、pom を変更することなく新しいバージョンを取得します。

于 2013-06-11T20:49:02.357 に答える
0

上位レベルのプロジェクトで依存関係を設定できます。これにより、プロジェクトの両方のモジュールの依存関係がカバーされます。

出典: これは、プロジェクトの 1 つで私のチームが行っていることです。

于 2013-06-11T20:00:18.943 に答える