3

複数の子 pom.xml ファイルの親として機能するルート pom.xml があります。これは、1 つまたは 2 つの子 pom.xml ファイルがある場合に最適です。私は、50 以上の子 pom.xml ファイルを持つプロジェクトに取り組んでおり、一度にいくつかのリリースが進行中です。親の pom.xml ファイルのバージョンを更新する必要があるまでは、すべてがうまくいっています。親 pom.xml のバージョンをすべての子 pom.xml ファイルにカスケードする方法はありますか?

現在のバージョンの親 pom.xml にプロパティを作成するだけのアイデアがありましたが、うまくいきません。

編集

これは私の子 pom.xml ファイルのサンプルです:

<parent>
    <groupId>myGroup</groupId>
    <artifactId>myArtifactId</artifactId>
    <version>1.0</version>  <!-- This is the value that I would like to parameterize in my child pom.xmls -->
    <relativePath>../../pom.xml</relativePath>
</parent>

余談ですが、私はMaven 3.0.3を使用しています

4

5 に答える 5

2

私はあなたがこのようなものを持っていると仮定します:

+--root (pom.xml)
     +--- module1 (pom.xml)
     +---

ルート pom.xml で:

<project ..>

  <groupId>the.company.project</groupId>
  <artifactId>the-artifact</artifactId>
  <version>1.0-SNAPSHOT</version>
  ...
</project>

一方、チャイルズでは次のようにする必要があります。

<project ..>

  <parent>         
    <groupId>the.company.project</groupId>
    <artifactId>the-artifact</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>the-artifact-child</artifactId>

</project>

このような目的では、ルートと子のバージョンの更新を処理するmaven-release-pluginを使用する必要があります。maven-release-plugin を使用しない場合は、同じことを処理できるversions-maven-pluginを使用できます。

于 2013-04-22T14:44:48.537 に答える
1

子 pom.xml で:

<parent>
    <groupId>groupId</groupId>
    <artifactId>parent.artifactId</artifactId>
    <version>version</version>
    <relativePath>../parent-pom</relativePath>
 </parent>
 <artifactId>child.artifactId</artifactId>
于 2013-04-22T14:44:29.560 に答える
-1

子 pom にバージョンを入れないでください。自動的に継承されます。そこで編集すると、Eclipse プラグインで警告として表示されます。

于 2013-04-22T15:39:17.440 に答える