2013-02-14 50 views

回答

22

如果您通过调用阶段来启动maven,它将执行所有生命周期阶段,直至您正在调用的阶段。例如,调用

mvn test 

所有阶段时前的测试生命周期阶段也将被执行:该项目将被验证,来源和资源将生成和处理,资源将被编译,同样会发生在测试资源和资源,最后运行单元测试。

但是,您也可以调用绑定到生命周期阶段的插件目标。在测试阶段的情况下,绑定的目标是surefire的测试mojo。因此,您可以拨打

mvn surefire:test 

并且不会执行其他生命周期阶段。 您可以根据封装类型here找到绑定到每个阶段的目标。

+0

链接已死亡。请更新它。 – 2017-04-10 12:43:36

+0

更新了链接 – Akro 2017-04-20 13:52:00

+0

谢谢。 – 2017-04-20 13:59:49

0

Build your own lifecycle,或者使用Maven(Ant,Gradle,IDE,命令行JUnit runner等)来运行测试。这就是您在使用Maven时所使用的那种限制。

+0

瑞安,这是绝对有可能的,看到其他的答案。 – 2013-02-14 14:39:30

+0

@SamuelEUSTACHI:是的,没有。确实,我应该想到提到明确运行surefire插件,但是问题是如何运行一个仅由测试阶段组成的maven生命周期,这不是。 – 2013-02-19 19:56:43

+1

事实上,瑞恩这个问题明确提到了一个生命周期,所以你的回答没有错。但它可能导致jayunit100处于复杂的方向。我试图在基本使用场景中翻译这个问题,因为只有一个阶段的生命周期会有点矫枉过正。 – 2013-02-20 07:29:31

6

您可以运行:

mvn surefire:test 
相关问题