12

親の pom A があり、プロファイル win32 と win64 が OS によってアクティブ化されているとします。

<profile>
    <id>windows32</id>
    <activation>
        <os>
            <family>windows</family>
            <arch>x86</arch>
        </os>
    </activation>
    <properties>
        <envClassifier>win-x32</envClassifier>
    </properties>
</profile>
<profile>
    <id>windows64</id>
    <activation>
        <os>
            <family>windows</family>
            <arch>amd64</arch>
        </os>
    </activation>
    <properties>
        <envClassifier>win-x64</envClassifier>
    </properties>
</profile>

これらのプロファイルは環境を定義します。${envClassifier} などの変数は、親モジュールに子モジュール B があり、win64 に追加で追加のものを定義したいと言っています。

<profile>
    <id>windows64</id>
    <properties>
        <jreName>jre6u27.zip</jreName>
    </properties>
</profile>

どうにかして親から win64 プロファイルを拡張できますか、それともアクティベーション セクションとすべてと一緒にコピー アンド ペーストする運命にありますか?

4

2 に答える 2

6

mvn help:effective-pomを使用してこのケースを確認しました。

<activation>親プロファイルと同じ方法で子プロファイルのセクションを指定すると、これら 2 つのプロファイルのプロパティがマージされます。

于 2012-07-10T07:02:58.943 に答える
4

どうやらそれは単に不可能です。私はここで良い説明を見つけました - http://www.dashbay.com/2011/03/maven-profile-inheritance/

于 2012-07-10T12:56:33.577 に答える