2011-01-21 10 views
1

私はmutlモジュールプロジェクトのすべての子モジュールをアンパックしたいmavenプロジェクトがあります。誰もがこれに接近する最善の方法を知っていますか?このプロジェクトには10​​0以上のモジュールがあり、私はこの情報をどこか別の場所にコピーする必要はありません。mavenのマルチモジュールプロジェクトをコピーする最良の方法

答えて

1

まず、すべてのプロジェクトを依存関係とするpom.xmlファイルを作成する必要があります。

  1. 依存関係として 他のすべてのサブモジュールを持っている1つのサブモジュールがある場合は、ちょうどそのサブモジュールに依存関係を追加し、運です。
  2. そうでない場合は、すべてのサブモジュールのgroupIds、artifactIds、versions(およびpackagings)を収集するスクリプトまたはプログラムを作成する必要があります。また、すべてを依存関係としてpom.xmlを作成します。

そこで、本プロジェクトでは、あなたがプロジェクトを展開するdependency:unpack-dependenciesを使用することができます。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>unpack-projects</id> 
     <phase>generate-sources</phase> 
     <goals> 
      <goal>unpack-dependencies</goal> 
     </goals> 
     <configuration> 
      <includeGroupIds>com.basegroupId*</includeGroupIds> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

(すべてのサブモジュールgroupIdsと一致するパターンに設定includeGroupIds)

今、あなただけ呼び出す必要があります

mvn generate-sources 

(または実行時に設定した他のフェーズ)

+0

私が取り組んでいるシステムは、データソースとしてpomのモジュールリストを使用する必要があります。私の意図は、いつでも2つの場所にデータを入力する必要がないようにシステムを作成することですまたはモジュールを取り外すことができます。最悪の場合、私は自分自身でpomを読んで、ファイルを手動で解決してコピーすることができますが、Mavenにこれを行うための焼き込みがあることを期待していました。 – BillMan

+0

@BillManいいえ、設計上、親プロジェクトにはサブモジュールプロジェクトへのアクセス権がないため、完全なツリーを取得するためにすべての下位ノードを参照する必要があります。 –

関連する問題