如果我打电话
mvn clean install
maven知道clean是生命周期,而install是默认生命周期的一个阶段
如果我打电话
mvn deploy
Maven将顺序执行默认生命周期的所有阶段。
是否可以通过提供生命周期名称(而不是执行生命周期的最后一个相位)来调用默认生命周期?
编辑:所以问题是:是否有命令
mvn lifecyclename
即开始执行默认生命周期?
无法执行mvn Default
,并期望它运行到Default:deploy
。您将不得不提及周期任务,例如test
,package
,clean
,拥有此任务的生命周期将被激活。
mvn clean
是Clean生命周期还是clean任务? 或者,键入mvn clean
将更干净的生命周期;并且mvn clean:clean
将运行Clean生命周期,直到clean
任务为止。
Clean
,Default和Site。 有关更多详细信息,请参见此处Introduction to Maven Life-cycles and task order[执行时看到说,mvn test
这些是按该顺序执行的事情
验证>初始化>生成源>流程源>生成资源>流程资源>编译>流程类>后处理>生成测试源>流程测试源>生成测试资源>过程测试资源>测试编译>过程测试类>测试
您不能跳过任何默认任务。您可能会钩住在任务期间执行的插件。
mvn clean
不会调用整个干净的生命周期。实际上,在干净的生命周期中有一个干净的阶段。然后该命令执行此阶段,而不是生命周期。
但是您可以执行独立的插件目标。
mvn deploy:deploy
不会触发与deploy
阶段相关的任何插件执行。但是您总是可以在命令行中添加更多插件执行。因此,我最好使用跳过所有插件执行的配置文件。如果要执行与
myplugin:mygoal
阶段关联的deploy
,则>>
mvn myplugin:mygoal deploy:deploy
但是执行的配置必须在cli中。但是您最好跳过不需要的插件执行。仅在命令行中跳过
test
和integration-test
。但是您可以使用配置文件来实现此目的,该配置文件将默认循环设置为跳过。
<profiles> <profile> <id>skip</id> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <skip>true</skip> </configuration> </plugin> ...
然后用]召唤>
mvn deploy -Pskip