1、Maven构建由一系列阶段组成,称为生命周期。每个阶段都有一个特定的目标。每个阶段都依赖于之前的阶段——如果某个特定的目标由于某种原因失败,整个构建就会失败。

3、任何构建的构件都放在项目根目录下一个名为target的目录中。clean目标通过删除此目标目录从以前的构建中删除任何文件。这不会在任何后续阶段之前运行,除非您特别使用mvn clean启动此构建阶段,或者将其定义为始终在项目对象模型(POM)中运行。

5、compile阶段引入任何已定义的依赖项,并执行代码编译,将任何类文件构建到target/classes目录中。
6、下一个阶段是test。这将编译test目录下的类,并在这里运行任何测试代码,例如单元测试或集成测试。默认情况下,任何失败的单元部署测试都会导致构建失败。
7、package阶段在成功的测试阶段之后运行。这将创建一个工件,例如WAR或JAR文件。这个文件存储在目标目录的根目录中。注意,这不是一个独立的文件;默认情况下,它没有内置任何依赖库,所以依赖项仍然需要包含在类路径中。绑定到此阶段的目标依赖于打包标记:如果将其设置为jar,则运行jar:jar目标;如果设置为war,则运行war:war目标。

11、这里的生命周期阶段是最基本的步骤;还可以使用其他一些方法,如生成测试源、集成前测试和集成后测试,来为构建提供更细的粒度。
