无法从命令行覆盖pom maven-surefire-plugin

Rox*_*ana 1 java plugins unit-testing maven

我有pom插件maven-surefire-plugin,其中skipTests为true.但是,有时我想从命令行运行测试,我想从命令行覆盖此插件并保持pom文件不变.

我试过了

mvn install -DskipTests=false
Run Code Online (Sandbox Code Playgroud) 但它仍然跳过测试......

知道如何解决我的问题......?
谢谢

San*_*gen 5

默认情况下跳过在插件文档中有具体讨论:

如果您希望默认跳过测试但希望能够从命令行重新启用测试,则需要通过pom中的属性部分进行操作

换句话说,使用属性作为默认值:

    <configuration>
      <skipTests>${skipTests}</skipTests>
    </configuration>
Run Code Online (Sandbox Code Playgroud)

定义属性:

    <properties>
      <skipTests>true</skipTests>
    </properties>
Run Code Online (Sandbox Code Playgroud)

可以从命令行覆盖属性:

    mvn install -DskipTests=false
Run Code Online (Sandbox Code Playgroud)

请注意,skipTests上面的命令行中引用的是属性,而不是引用具有相同名称的plugin参数.