2

白紙の状態からすべてのプロジェクトを構築するために、集約 POM を作成しようとしています。親プロジェクトと 2 つのコード プロジェクトがあるとします。これらはすべて異なるソース ツリーにあります。

親:

<groupId>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>

プロジェクト A:

<parent>
    <groupId>com.example</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath/>
</parent>

<artifactId>project-A</artifactId>
<packaging>jar</packaging>

プロジェクト B:

<parent>
    <groupId>com.example</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath/>
</parent>

<artifactId>project-B</artifactId>
<packaging>jar</packaging>

今、私は別のアグリゲーター POM を作成して、これらすべてを一緒に構築しようとしています。

<groupId>com.example</groupId>
<artifactId>aggregator</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>path/to/parent</module>
    <module>path/to/project-A</module>
    <module>path/to/project-B</module>
</modules>

mvn clean installリアクタが2 つのコード プロジェクトの をaggregator見つけられないため、プロジェクトの実行は失敗します。<parent>理由は明らかです。parentプロジェクトはリアクターの一部であるため、ビルドの開始時にアーティファクトは存在しません。

この原子炉のビルドを達成する方法はありますか?

4

3 に答える 3

2

親POMで次の部分を指定する必要があります。

<modules>
<module>path/to/parent</module>
<module>path/to/project-A</module>
<module>path/to/project-B</module> 
</modules>
于 2016-07-09T15:32:54.873 に答える
2

mvn install親に一度だけ必要です。

その後、ローカル リポジトリに配置され、アグリゲーターがそれを見つけます。その時点から、reactor は継承を認識し、常に最初に親を再構築します。

于 2016-07-20T11:18:38.843 に答える