2011-01-11 5 views
15

私のプロジェクトが継承するPOMにはargumentsを指定するreleaseプラグイン用に<pluginManagement>が含まれています。コマンドラインからpom pluginManagementで定義されたMavenプラグインの設定をオーバーライドします

私の質問は:この場合、コマンドラインからargumentsパラメータを上書きする方法はありますか?

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

-Darguments="-Pmock -Prelease"部分は効果がありません:

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

ためのコマンドライン引数が機能しないことに:

親POMは、この持っています。 argumentsが指定されていない場合は動作します。

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

答えて

10

解決策が見つかりました。 私の POM私は親の POMの設定を無効にし、コマンドラインで追加の引数を指定することができます。 -Darguments=-Pmock

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>${arguments} -Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 
6

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

+0

リンクをMNG-4979に更新しました:https://issues.apache.org/jira/browse/MNG-4979 – erwaman

+0

ありがとうございます。コメントのリンクを更新しました。 –

関連する問題