6

以下のプロジェクトをフラットな構造で編成しています。

parentProject
+-pom.xml

projectWeb <depends on libraryA and libraryB>
+-pom.xml

libraryA
+-pom.xml

libraryB
+-pom.xml

parentProject 内の pom.xml には、他のモジュールへの参照があり、継承と依存関係管理に使用されます。スニペットを次に示します。

<project>
    ....
    <modules>
        <module>../projectWeb</module>
        <module>../libraryA</module>
        <module>../libraryB</module>
    </modules>
    <dependencyManagement>
    ...
    </dependencyManagement>
    <build>
    ...
    </build>
    ....
</project>

Jenkinsでは、プロジェクトごとに 1 つの Maven ジョブがあり、parentProject をビルドすると正常に動作します。セクションで参照されているすべてのプロジェクトをビルドしますmoduleslibraryA私が抱えている問題は、SVN に変更をコミットするときprojectWebです。誰が私が間違っているのか知っていますか?

前もって感謝します。

編集

modulesからセクションを削除するとparentProject\pom.xml、期待どおりに機能しますが、親 pom を持つことによる集約の利点が失われます。

4

2 に答える 2

1

親POMに次の2つのことを要求しているようです:

  1. 依存関係管理の設定
  2. ビルドを集約する

一般的には、これを 2 つの pom に分割する方が適切です。#1 の親 pom と #2 の集約 pom です。次に、次のようなものがあります..

[root dir] aggregate pom.xml
+ /parent 
+ /web
+ /libA
+ /libB

詳細については、この回答を参照してください: https://stackoverflow.com/a/3301162/211993

次に、ルートディレクトリをチェックアウトして「mvn clean install」を実行するように Jenkins を構成します。

于 2012-10-29T15:41:00.430 に答える
0

これは、jenkins ジョブで構成する必要があります。「libraryA ジョブ」/「構成」/「ビルド トリガー」/「他のプロジェクトのビルド後にビルド」を参照してください。

于 2012-09-27T05:04:06.503 に答える