如何调用maven默认生命周期

Mat*_*ias 4 lifecycle maven

如果我打电话

mvn clean install
Run Code Online (Sandbox Code Playgroud)

maven知道clean是一个生命周期,安装是默认生命周期的一个阶段

如果我打电话

mvn deploy
Run Code Online (Sandbox Code Playgroud)

maven将按顺序执行默认生命周期的所有阶段.

有没有办法通过给出生命周期名称(而不是执行生命周期的最后一个phsae)来调用默认生命周期?

编辑:所以问题是:是否有命令

mvn lifecyclename
Run Code Online (Sandbox Code Playgroud)

开始执行默认生命周期?

Nis*_*ant 6

没有命令根据生命周期名称运行生命周期.所以你不能做到mvn Default并期望它能够运行起来Default:deploy.你就不得不提一个周期的任务一样test,package,clean拥有此任务会得到积极的生命周期.

将生命周期作为论据是没有意义的.这会令人困惑.例如,运行mvn clean是清洁生命周期还是清洁任务?

或者,类型mvn clean将运行清洁生命周期将更加冗长; 并且mvn clean:clean将润洁的生命周期,直到clean任务.


Maven有三个生命周期.执行任何生命周期的任务(比如task_N)将导致执行整个生命周期直到该任务(task_N).三个生命周期是清洁,默认站点.

有关更多详细信息,请参阅Maven生命周期和任务顺序简介

你看到当你执行say时,mvn test这些是按顺序执行的事情

validate> initialize> generate-sources> process-sources> generate-resources> process-resources> compile> process-classes> post-process> generate-test-sources> process-test-sources> generate-test-resources> process- test-resources> test-compile> process-test-classes> test

您不能跳过任何默认任务.您可以挂钩在任务期间执行的插件.

  • 如果几个阶段具有相同的名称,会发生什么? (2认同)

Mat*_*ias 5

好像有什么误会。进一步阅读可以澄清

mvn clean
Run Code Online (Sandbox Code Playgroud)

不会调用整个干净的生命周期。事实上,在清洁生命周期中有一个清洁阶段。并且命令执行这个阶段而不是生命周期。