一言で言えば、私がやろうとしているのは、多数のライブラリとアプリケーション、すべての Maven プロジェクトを一度に構築することです。これを1回のコマンドラインで実行するだけでこれを達成する方法はmvn package
、ビルドしたい各モジュールをリストするマルチモジュールプロジェクトを作成し、それらをMavenリアクターに投入してビルドすることです。
Maven book の例に従うと、通常、マルチpom
モジュールは個々のモジュールの上のディレクトリにあるようです。ただし、親pom
がモジュールの上のディレクトリにあるのも通常の場合であり、疑問が生じます。通常、マルチモジュールビルドも親になる必要がありますか? 私はそうは思いません。しかし、なぜ私はこの面白いデザインの癖に出くわすのだろうか.
だから、私はこれを設定する正しい方法を考えています。次の規則 / 要件があります。
- マルチ
pom
モジュールは、他のモジュールがディスク上のどこにあるのかを認識している必要があります。実際にはソースからビルドを行っているため、既にインストールされているバージョンに単純に依存することはできません (それらをインストールしているため!) - 親は実際には物理ディレクトリである必要はありませんが、それが望ましいでしょう。私はこれを破るのが最善の慣習だと考えています。
- 実際、個々のライブラリ/アプリケーションは、マルチモジュール ビルドの一部としてビルドされていることを知る必要さえありません。
これは通常、マルチモジュール ビルドでどのように設定されますか? 複数の Maven プロジェクトのビルドを一度に管理する簡単な方法はありますか?