在maven-surefire-plugin中附加argLine参数的值

我一起使用maven-surefire-plugin+ Sonar,我想argLine为maven-surefire-

plugin的参数添加一些额外的值。

所以我做到了:

<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参数的原始值,Sonar不会生成jacoco.exec文件。

我可以在Maven调试日志(-X)中看到argLine参数的值没有覆盖,而是-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。

回答:

官方文件称该更换较晚。

如果执行以下操作,则将覆盖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>

或者您可以在文件argLine中将其设置为:property``pom.xml

<properties>

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

</properties>

以上两种解决方案均能正常工作。

以上是 在maven-surefire-plugin中附加argLine参数的值 的全部内容, 来源链接: utcz.com/qa/435433.html

回到顶部