Maven工具学习使用(五)——生命周期和插件
生命周期
Maven有三套独立的生命周期,分别为clean、default、site。每个生命周期包含一些阶段(phase),这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段。三套生命周期是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。当调用clean生命周期的clean阶段的时候,不会触发default生命周期的任何阶段,当调用default生命周期的compile阶段的时候,也不会触发clean生命周期的任何阶段。
详细说明参考
https://maven.apache.org/ref/3.9.9/maven-core/lifecycles.html#default_Lifecycle
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
clean生命周期,目的是清理项目
1、pre-clean 执行一些清理前需要完成的工作
2、clean 清理上一次构建生成的文件
3、post-clean 执行一些清理后需要完成的工作
default 生命周期
定义了真正构建时所需要执行的所有步骤,核心生命周期
1、validate
2、initialize
3、generate-sources
4、process-sources 处理项目主资源文件。一般来说是对src/main/resources 目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中。
5、generate-resources
6、process-resources
7、 compile 编译项目主源码。一般来说是编译src/main/java 目录下的java文件至项目输出的主classpath目录中。
8、process-classes
9、generate-test-sources
10、process-test-sources 处理项目测试资源文件。一般来说,是对src/test/resources目录的内容进行变量替换等工作后,复制到项目输出的测试classpath目录中。
11、generate-test-resources
12、process-test-resources
13、test-compile 编译项目的测试代码。一般来说是编译src/test/java目录下的java文件之项目输出的测试classpath目录中。
14、process-test-classes
15、test 使用单元测试框架运行测试。测试代码不会被打包或部署。
16、prepare-package
17、package 接受编译好的代码,打包成可发布的格式,如jar
18、pre-integration-test
19、integration-test
20、post-integration-test
21、verify
22、install 将包安装到Maven本地仓库,共本地其他Ma