【构建的生命周期】 项目的整个操作过程(compile编译 -> test测试 -> package打包 -> install安装)就叫做构建 Maven的构建生命周期描述的是整个操作过程中经历了多少个事件。Maven对项目构建的生命周期划分为3套 1. clean: 清理工作 2. default: 核心工作,例如编译、测试、打包、部署 3. 产生报告,发布站点等 一、clean生命周期会做什么事情 1. pre-clean(clean之前做的事): 执行一些需要在clean之前完成的工作 2. clean(clean时做的事): 移除所有上一次构建生成的文件 3. post-clean(clean之后做的事): 执行一些需要在clean之后立刻完成的工作 二、default生命周期会做什么事情,会从上往下做如下的事情 校验validate、 初始化initialize、 生成源代码generate-sources、 处理源代码process-sources、 生成资源文件generate-resources、 处理资源文件process-resources 编译compile、 处理类文件process-classes、 生成测试源代码generate-test-sources、 处理测试源代码process-test-sources、 生成测试资源文件generate-test-resources、 处理测试资源文件process-test-resources、 编译测试源码test-compile、 处理测试类文件process-test-classes、 测试test、 准备打包prepare-package、 打包package、 集成测试前pre-integration-test、 集成测试integration-test、 集成测试后post-integration-test、 验证verify、 安装install、 部署deploy 例如我们执行compile编译,实际上是执行了校验、初始化、生成源代码、处理源代码、生成资源文件、处理资源文件、编译 三、site构建生命周期 1. pre-site 执行一些需要在生成站点文档之前的工作 2. site 生成项目的站点文档 3. post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备 4. site-deploy 将生成的站点文档部署到特定的服务器上 在生命周期的每一阶段都会对应做一些事,那么谁来做这个事呢,就是下面要学习的插件,插件来做这些事 【插件】 1. 插件与生命周期内的各个阶段绑定,在执行到对应生命周期时就会执行对应的插件功能 2. 默认maven在各个生命周期上绑定有预设的功能 3. 通过插件可以自定义其他功能 如何在Maven的官网(https://maven.apache.org/)查看插件,打开官网,在左侧导航栏点击Maven Plugins,下滑里面都是,我们 以source(打源码的插件)为例,点击source,跳转新网页,选择source:jar(对源码打包),代码如下 org.apache.maven.plugins maven-source-plugin 2.2.1 jar generate-test-resources 代码写好了如何执行 点击右侧的maven栏,点击Lifecycle,先点击clean,再点击test,然后会在你项目的src项目目录生成target文件夹, target文件夹里面有java02-1.0-SNAPSHOT-sources.jar文件,这个就是源码文件 如果你不点击test,而是点击compile是不会产生源码文件的,原因就是上面讲的default生命周期,compile阶段太靠前了,我们需要选择 一个在'生成测试资源文件(generate-test-resources)'后面的阶段,其中test就满足,或者执行install也满足