2010-12-08 17 views
0

Mavenを使用して2つのプロジェクトを作成しています。Mavenの依存関係

Project1とProject2。

私はProject1.jarを作成するためにjar1.jarに依存しています。また、Project2.jarを作成するためにProject1.jarに依存しています。 Project2のProject1.jar依存関係エントリの "提供された"スコープを提供しています。また、私はProject1のjar1.jar依存関係エントリの "コンパイル"スコープ依存性を与えています。

jar1.jarもProject2.warに含まれています。しかし、jar1.jarは、Project2.warがロードされる環境によって提供されます。

+0

はい、そうです。基本的に、Project1.jarには依存関係は含まれていません。基本的には、settings.xmlで指定されたリポジトリを持つpom.xmlに基づくjarをマップします。ですから、project2はproject1に依存し、project1はjar1に依存します。したがって、project2はjar1に依存します。その推移:-) –

+0

コメントありがとう、Mohamed Saligh。基本的に私のProject1.jarは、アプリケーションのような実行可能なサーバーであり、そのマニフェストにはjar1.jarがあります。 Project1.jarサーバーから実行しているProject2.warにjar1.jarが含まれている必要はないと思いますか? Project1.jarアプリケーションのクラスパス(マニフェストエントリ)にjar1.jarがあるためです。 – girishadat

答えて

0

あなたはいくつかのことをすることができます。

jar1.jarの範囲をpom.xmlProject1providedとすることができます。 providedスコープの依存関係はコンパイルクラスパスに含まれています。

Project1の依存関係を宣言するときに、jar1.jarを明示的に除外することができます。