maven 项目的 构建顺序
- compile 编译 test-compile 测试代码 编译
- test 测试
- package 打包
- install 安装
必须按照这个顺序操作。
maven的生命周期 包含的事件如下
clean : 清理工作
default:核心工作,列如编译,测试,打包,部署等
slte:生产报告,发布站点
(1)clean:清理工作
pre-clean:执行一些在clean之前的工作
clean:移除上一次构建产生的所有文件
post-clean:执行一些在clean之后立刻完成的工作
(2)default:核心工作,例如编译,测试,打包,部署等
对于default生命周期,每个事件在执行之前都会将之前的所有事件依次执行一遍
install是执行所有事件,test是执行代码中的事件 主代码+测试代码
(3)site:产生报告,发布站点等
pre-site:执行一些在生成站点文档之前的工作
site:生成项目的站点文档
post-site:执行一些在生成站点文档之后完成的工作,为部署做准备
site-deploy:将生成的站点文档部署到特定的服务器上
插件:
- 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件
- maven默认在各个生命周期上都绑定了预先设定的插件来完成相应功能
- 插件还可以完成一些自定义功能
这是在 依赖坐标内 设置插件
主要目的是 指定在什么阶段 打tar包
或者 执行到对应生命周期时执行对应的插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<!-- 在这里面对插件打 tar 包 -->
<!-- 在这里面还能指定插件执行到那个生命周期阶段 时结束 -->
<executions>
<execution>
<goals>
<!-- 对这个插件打tar包 -->
<goal>jar</goal>
<!-- 对这个测试插件打tar包 -->
<goal>test-jar</goal>
</goals>
<!-- 这个插件执行到这个生命阶段时结束 -->
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
phase 是阶段的意思
goal 打tar 包
executions 与 execution 安装插件