[英]Cannot overwrite pom maven-surefire-plugin from command line
我在pom中将插件maven-surefire-plugin与skipTests设置为true。 但是,有时我想从命令行运行测试,并且想从命令行覆盖此插件并使pom文件保持不变。
我试过了
mvn install -DskipTests=false
但它仍然跳过测试...
知道我如何解决我的问题吗?
谢谢
默认情况下,跳过会在插件文档中专门讨论:
如果您想默认跳过测试,但希望能够从命令行重新启用测试,则需要通过pom中的properties部分
换句话说,将属性用作默认值:
<configuration>
<skipTests>${skipTests}</skipTests>
</configuration>
定义一个属性:
<properties>
<skipTests>true</skipTests>
</properties>
可以从命令行覆盖属性:
mvn install -DskipTests=false
请注意,上面命令行中的skipTests
引用该属性,而不引用同名的plugin参数。
使用配置文件可以解决问题。 它要求您更改pom文件,尽管它可以为您提供所需的行为。
在项目元素中设置属性
<properties>
<runtests>false</runtests>
</properties>
现在创建一个配置文件
<profile>
<id>run-tests</id>
<properties>
<runtests>true</runtests>
</properties>
</profile>
在surefire插件配置中
<skipTests>${runtests}</skipTests>
现在运行mvn install -P run-tests此命令将激活配置文件,因此将runtests属性设置为true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.