mvn 命令行请求失败:mvn -Dsurefire.skipAfterFailure=1 测试

mvn command line request failing: mvn -Dsurefire.skipAfterFailure=1 test

我可以通过 POM 文件调整获得功能,但不能通过命令行。 我做错了什么?

Windows powershell 命令:

mvn -Dsurefire.skipAfterFailure=1 test

错误是响应是这样的:

[ERROR] Unknown lifecycle phase ".skipAfterFailure=1".
You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>.
Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, proces
s-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]

POM 文件:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M4</version>
        </plugin>
    </plugins>
</build>

我可以通过添加

让它工作
        <configuration>
            <skipAfterFailureCount>1</skipAfterFailureCount>
        </configuration>

在插件版本之后,为什么我不能从命令行让它工作?

部分原因是 PowerShell 需要在 -D 之前加一个反引号。 此命令不会产生任何错误;但是还是不行。

mvn `-Dsurefire.skipAfterFailure=1 test

在常规 Windows CLI 中,不需要反引号。

为什么这个命令仍然不起作用?

输入错误,在PowerShell中必须是mvn "-Dsurefire.skipAfterFailure=1" test