我正在一起使用maven-surefire-plugin
+ Sonar
,我想给maven-surefire-plugin的argLine
参数增加一些额外的值。
于是我就这么做了:
<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 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
,但没有覆盖它的值。
APPEND此参数的原始值的正确方法是什么(保留原始值+添加额外值)?
我使用的是Apache Maven 3.5.0,Java版本:1.8.0_131,厂商:甲骨文公司。
3条答案
按热度按时间o2gm4chl1#
官方文件称之为迟交。
如果您执行以下操作,将会覆盖之前由其他插件设置的
argLine
参数值,因此请勿执行此操作:保留现有值并添加配置的正确方法是使用
@{...}
语法:或者,您可以在
pom.xml
文件中将argLine
设置为property
:上述两种解决方案都能正常工作。
41ik7eoe2#
谢谢你!
在我的情况下,它是:
ajsxfq5m3#
针对
Apache Maven 3.8.3
更新。在我的例子中,只有两个@zapee建议的组合才有效,换句话说,重要的是将
<argLine/>
添加到<properties>
,将@{argLine}
添加到配置部分。希望,它能帮助一些人。