29

私は3つのmavenプロジェクトを持っています

  • Web コンポーネント
  • データコンポーネント
  • ServiceComponents

各プロジェクトをビルドするときは、各フォルダーに移動して、各プロジェクトで mvn clean install を実行する必要があります。

マルチモジュール プロジェクトを調査しましたが、見たリソースのほとんどは、既存のプロジェクトの構造を変更する必要があることを示唆しています。

個々の pom ファイルを含む既存のプロジェクトの何かに変更を加えることなく、独立した各プロジェクトをビルドする新しいプロジェクトを作成することは可能ですか?

おそらく、すべてのプロジェクトをビルドする単純なバッチ ファイルを作成することでこれを達成できますが、Maven を使用することは可能ですか?

4

2 に答える 2

47

継承のないMaven集約を探しています。参照ページに示されているように、パッケージが「pom」で「モジュール」のリストを持つ新しいPOMを作成するだけです。モジュールは、別のMavenプロジェクトへの相対パスです。

<project>
  ...
  <packaging>pom</packaging>
  ...
  <modules>
    <module>foo</module> <!-- module is in a subdirectory of this project -->
    <module>../bar</module> <!-- module is a sibling to this project -->
    <module>../../../other-projects/baz</module> <!-- somewhere else entirely -->
  </modules>
</project>

このようなpom(「アグリゲーター」と呼ばれる)をビルドするときのデフォルトの動作は、同じ引数を使用して各モジュールディレクトリでMavenを実行したかのようにすべてのモジュールをビルドすることです。

于 2012-05-19T15:28:57.737 に答える
5

モジュールとして名前を付ける 3 つのプロジェクト (モジュール名 = サブディレクトリ名) の上のディレクトリにアグリゲーター プロジェクトを追加すると、独自の POM を変更する必要なくビルドされます。親として参照する必要はありません。

于 2012-05-19T15:05:43.360 に答える