2016-07-14 7 views
0

私は既存の親プロジェクト(私の製品が "カスタマイズされた製品"となる "標準製品")を拡張するmavenプロジェクトを持っています。mavenカーゴプラグインを拡張する

親はorg.codehaus.cargo/cargo-maven2-pluginを宣言し、configuration/cargo.jvmargsの下にいくつかのVM引数を渡します。このように:私のカスタムプロジェクトで今すぐ

<plugin> 
     <groupId>org.codehaus.cargo</groupId> 
     <artifactId>cargo-maven2-plugin</artifactId> 
     <version>1.4.18</version> 
     <configuration> 
     <container> 
      <containerId>tomcat8x</containerId> 
      [...] 
      <dependencies> 
      [...] 
      </dependencies> 
     </container> 
     <configuration> 
      <properties> 
      <cargo.jvmargs>-ArgA -ArgB -ArgC</cargo.jvmargs> 
      </properties> 
      <configfiles> 
      [...] 
      </configfiles> 
      <files> 
      [...] 
      </files> 
     </configuration> 
     </configuration> 
    </plugin> 

、私は引数が-ArgA -ArgB -ArgC -ArgDになるように、1つの以上の引数(のは-ArgDを言ってみましょう)でこれらのJVM引数を拡張したいです。私はプラグイン全体をオーバーライドして、この小さな変更を行うことはしません。

私はこれを指定することができます:cargo:run -Dcargo.jvmargs="-ArgD"しかし、ここでの問題は次のとおりです。他のすべてのargs(ArgA、ArgB、ArgC)はオーバーライド/削除され、ArgDのみが残ります。私が必要とするのはcargo:run -Dcargo.jvmargs="current_cargo.jvmargs + -ArgD"のようなものです。

これはどういうことですか?

答えて

1

最も簡単な方法は、親のpomのjvmargsをmavenプロパティに移動することです。その後、カスタムプロジェクトでは、mavenプロパティを使用してjvmargsをカスタム値と組み合わせることができます。たとえば、次のように

親ポンポン:

<properties> 
    <cargo.base.jvmargs>-ArgA -ArgB -ArgC</cargo.base.jvmargs> 
</properties> 
[...] 
<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>1.5.0</version> 
    <configuration> 
     [...] 
    <configuration> 
     <properties> 
     <cargo.jvmargs>${cargo.base.jvmargs}</cargo.jvmargs> 
     </properties> 
     [...] 
    </configuration> 
    </configuration> 
</plugin> 

カスタムポンポン:

<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <configuration> 
     [...] 
    <configuration> 
     <properties> 
     <cargo.jvmargs>${cargo.base.jvmargs} -ArgD</cargo.jvmargs> 
     </properties> 
     [...] 
    </configuration> 
    </configuration> 
</plugin> 

親を変更する可能性がない場合は、(this pageを参照)貨物プロパティcargo.start.jvmargsを使用することができPOM。このプロパティは、起動時にコンテナにjava引数を追加します。

+0

みんな、勝者になった!ありがとう、 'cargo.start.jvmargs'は私が必要とするものを正確に行います。私の既に設定された引数は保持され、新しいargは設定されます。完璧。 – BAER

関連する問題