2017-09-29 33 views
1

私はmaven-surefire-plugin + Sonarを一緒に使用していますので、maven-surefire-pluginのパラメータargLineにいくつかの値を追加したいと思います。maven-surefire-pluginにargLine paramの値を追加してください

だから私はそれをやった:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.20.1</version> 
      <configuration> 
       <argLine>-DCRR.Webservice.isSimulated=true -D...</argLine> 
      </configuration> 
     </plugin> 
     ... 
    </plugins> 
</build> 

しかし、この場合には、私はargLineパラメータの元の値を上書きしていますし、ソナーはjacoco.execファイルを生成しません。

mavenデバッグログ(-X)の値を上書きしないでargLine paramの値が-javaagent:/opt/jenkins/.../myproject-SONAR/.repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runtime.jar=destfile=/opt/jenkins/.../myproject-SONAR/target/jacoco.execであることが分かります。

このパラメータの元の値を追加する正しい方法は何ですか(元のままにしておき、余分な値を追加する)?

Apache Maven 3.5.0、Javaバージョン:1.8.0_131、ベンダー:Oracle Corporationを使用しています。

答えて

1

公式ドキュメントでは、late replacementと記載されています。

あなたはそうこれを行わない、前に別のプラグインで設定されているargLineパラメータの値を上書きします次の手順を実行している場合:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <argLine>-D... -D...</argLine> 
    </configuration> 
</plugin> 

既存の値を維持するために適切な方法とお使いの設定が@{...}構文を使用することです追加します。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <argLine>@{argLine} -D... -D...</argLine> 
    </configuration> 
</plugin> 

ORあなたはpom.xmlファイルにpropertyとしてargLineを設定することができます:

<properties> 
    <argLine>-DCRR.Webservice.isSimulated=true -D...</argLine> 
</properties> 

上記の両方の解決方法が適切に機能します。

+0

あなたの解決策の中で「元の値を追加」する場所がわかりません – michaldo

+0

その値をどのようにAPPENDすることができるのです。 argLineをプラグインに直接追加するのではなく、プロパティとして定義します。 – zappee

+0

私が「APPEND」を読むとき、私は2つ目の場所「-Dfoo = bar」の "-Dfoo = bar"と "-Dfoo = bar -Dalpha = beta"を得る方法があると思います。あなたは、どのように置換するのかを説明しました。さらに、 "タグの間にargLineを定義しないでください:"と書いています。何故なの?ユーザープロパティー "argLine"は、プラグインプロパティー "argLine"に先行します。おそらくあなたの答えは正しいかもしれませんが、具体的な例を提供してください:jacocoを使ったデフォルトの設定と「何か特別な価値」を加えてjacocoの設定を保存する方法を解説してください。私が今見ているのは、プラグイン設定からプロパティを構築するために "argLine"を移動することだけです。 – michaldo

関連する問題