フラットなマルチモジュール レイアウトの次のシナリオを検討してください。
| parent-pom
| - pom.xml
| module1
| - pom.xml
parent-pom/pom.xml
すべてのモジュールの親 POM は次のとおりです。
<groupId>my-group</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0.0</version>
...
...
<module>../module1</module>
現在、pom.xml
ofmodule1
には次のparent
セクションが含まれています。
<parent>
<groupId>my-group</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0.0</version>
</parent>
クリーンなローカル リポジトリから始めます。事前に構築されたアーティファクトはなく、すべてがゼロから作成されます。で実行しようとすると、エラーが発生mvn install
しparent-pom
ます。これは、Maven リアクターがmy-group:base-pom
ローカル リポジトリを検索し、失敗して (存在しないため) を検索するため../pom.xml
です。
罰金。私の質問は次のとおりです。 のビルドが のビルドをmodule1
介して呼び出される場合、Maven が親のどこparent-pom
かを探す必要があるのはなぜですか? Maven が buildになると、Maven は次のことを既に認識しています。pom.xml
module1
- のファイル システムの物理的な場所
my-group:parent-pom:1.0.0
。 module1
に根ざしている事実my-group:parent-pom:1.0.0
。
なぜ他の場所を見るのですか?