21

私のプロジェクトが継承するPOMには、いくつかの追加を指定するプラグイン<pluginManagement>用のものが含まれています。releasearguments

私の質問は次のとおりargumentsです。この場合、コマンドラインからパラメーターをオーバーライドする方法はありますか?

親POMにはこれがあります:

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>-Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>

そのため、コマンドライン引数は機能しません:

mvn release:prepare -Darguments="-Pmock -Prelease"

-Darguments="-Pmock -Prelease"パーツには効果がありません。argumentsまだ指定されていない場合は機能します。

親POMを変更したり、使用しないことはできません。

4

2 に答える 2

15

解決策を見つけました。私のPOMでは、これを追加してPOMの設定を上書きし、コマンドラインで追加の引数を指定できるようにします。-Darguments=-Pmock

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>${arguments} -Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>
于 2011-01-14T16:47:06.320 に答える
9

POM で既に設定されている構成をオーバーライドすることはできません ( Maven Bug MNG-4979を参照)。この動作を回避するために、変数を使用できます。あなたの答えのスニペットはそれを利用しています。

于 2011-01-19T19:41:34.443 に答える