0

これが私のファイルシステムのセットアップです:

.m2/                 <--- Local Directory
app/
    pom.xml
    module1/
    module2/
    module3/
    target/          <--- Package directory

質問A

pom.xmlでは、すべてのモジュールが依存する依存関係があります。compileただし、フェーズに入るときは、module2コンパイルしたばかりの何かに依存する必要があり、の何かに依存する必要がmodule1ありmodule3ますmodule2。2つまたは3つの「Mavenプロジェクト」を作成せずにこれをどのように実行しますか?compile各モジュールで、、、installおよびフェーズを一度に1つずつ個別に実行することは可能packageですか(このソリューションを実行したいのですが)?

質問B

また、installモジュールを使用すると、すべての「もの」が更新され、ローカルリポジトリに追加されます。フェーズにあるときcompile、デフォルトでは、ローカルリポジトリから依存する必要のあるすべてのものを取得します(私が間違っている場合は正しい)。また、質問Aを達成できた場合、ローカルリポジトリを使用して依存関係に必要なすべての情報を取得するtarget代わりに、パッケージ化されたディレクトリから同じファイルを使用できますか?

これらの質問には、単純なpom操作やプラグインの追加で答えることができますか?これが可能であれば、どうすればこれを行うことができますか?

4

1 に答える 1

1

Mavenは、1つのプロジェクト(1つのアーティファクト)のアイデアで構築されています。説明する状況で通常行うことは、親として指定された最上位のPOMを使用して、各モジュールに個別のPOMを作成することです。各サブモジュールは、親の依存関係を継承し、モジュール固有の依存関係を自由に追加できます。次に、最上位のPomで、宣言を使用して3つのサブモジュールを宣言します。

重要な利点の1つは、サブモジュール間に依存関係がある場合(説明したように)、mavenがそれらの依存関係に基づいてサブモジュールを組み込む正しい順序を自動的に判断することです。

于 2013-01-24T04:41:29.897 に答える