在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