Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache Maven:生命周期阶段和;目标_Apache_Maven - Fatal编程技术网

Apache Maven:生命周期阶段和;目标

Apache Maven:生命周期阶段和;目标,apache,maven,Apache,Maven,在这里,我很难在一些Maven的概念上看到“穿越树木的森林”。我知道Maven预先配置了一系列所谓的“构建生命周期阶段”,从验证开始,到测试,最后到部署 我是从Ant来到Maven的,在这里,您将主要构建阶段组织成目标(可以以线性方式依赖于其他目标),然后将目标分解成过程性任务。Maven似乎支持这一点,但以目标的形式 我的问题(因为我习惯于从目标和任务的角度考虑构建)是:这些生命周期阶段(包,验证,等等)与目标有什么关系?是否需要配置在哪个阶段运行哪个目标,或者这是由Maven自动完成的 或者

在这里,我很难在一些Maven的概念上看到“穿越树木的森林”。我知道Maven预先配置了一系列所谓的“构建生命周期阶段”,从
验证
开始,到
测试
,最后到
部署

我是从Ant来到Maven的,在这里,您将主要构建阶段组织成目标(可以以线性方式依赖于其他目标),然后将目标分解成过程性任务。Maven似乎支持这一点,但以目标的形式

我的问题(因为我习惯于从目标和任务的角度考虑构建)是:这些生命周期阶段(
验证
,等等)与目标有什么关系?是否需要配置在哪个阶段运行哪个目标,或者这是由Maven自动完成的

或者,这些目标是在哪个阶段预先确定的

我只是没有看到一个人如何命令目标来创建一个为他们或他们的组织工作的定制构建


提前感谢您的澄清

许多Maven插件将特定目标(mojo)绑定到特定的生命周期阶段

例如,寻找。它说:

默认情况下绑定到生命周期阶段:包

此外,生命周期本身指定了每个阶段需要运行哪些工具。对于默认的打包类型,这些工具是由Maven预定义的,并在此处解释->

但是这个例子展示了如何创建完全定制的生命周期绑定->。正如您所见,您可以将插件目标的任何组合绑定到特定的生命周期阶段

最后,但并非最不重要的是,您可以通过pom文件的
build/plugins
元素手动添加插件执行。如果您这样做,特定阶段的插件将以FIFO顺序执行

此外,它还可以帮助您查看指定了所有这些默认值的
有效POM
。许多IDE为Maven项目提供了此选项,但您也可以从命令行看到有效的pom:

mvn help:effective-pom

Maven有3个生命周期,在许多阶段(打包、验证等)内执行。当执行这些阶段时,它也会调用前面的阶段

目标是个人的任务。调用时,将执行该特定任务。 查看下面的博客了解更多详细的解释。

看看Maven:生命周期vs.阶段vs.插件vs.目标,了解命名实体的全部内容。