Maven读书笔记之七(生命周期和插件)

来源:互联网 发布:著名网络暴力案例2016 编辑:程序博客网 时间:2024/06/04 18:53

1. 生命周期What?

Maven一般能自动化执行的生命周期有清理、编译、测试、打包,部署。

2. 生命周期详解

2.1 三套生命周期

2.1.1 clean生命周期
  1. pre-clean:清理前的准备工作
  2. clean:清理上一次构件的输出文件
  3. post-clean:清理后完成的工作
2.1.2 default生命周期
  1. validate
  2. initialize
  3. generate-sources
  4. process-sources:处理主资源文件(一般目录:project/src/main/resources
  5. generate-resources
  6. process-resources
  7. compile:编译项目主代码(一般目录:project/src/main/java)
  8. process-class
  9. generate-test-sources
  10. process-test-sources
  11. generate-test-resources
  12. process-test-resources
  13. test-compile:编译项目测试代码(一般目录:project/src/test/java)
  14. process-test-classess
  15. test:单元测试
  16. prepare-package
  17. package 打包可发布的格式
  18. pre-integration-test
  19. integration-test
  20. post-integration-test
  21. verify
  22. install:将包安装到Maven本地仓库
  23. deploy:将最终的包复制到远程仓库
2.1.3 site生命周期
  1. pre-site:执行生成项目站点之前的工作
  2. site:生成项目站点文档
  3. post-site:执行生成项目站点之后的工作
  4. site-deploy:将生成的项目站点发布在服务器
2.1.4 命令行与生命周期

1、mvn clean:执行clean生命整个周期
2、mvn test:执行default生命周期的test阶段
3、mvn clean install:执行clean生命整个周期和default生命周期的install阶段
4、mvn clean deploy site-deploy:执行clean生命整个周期和default生命整个周期以及site周期的site-deploy的阶段

3. 插件绑定

3.1 内置绑定

clean生命周期与插件目标的绑定关系

生命周期阶段 描述 插件目标 pre-clean 清理前的准备工作 maven-clearn-plugin:clean clean 清理上一次构件的输出文件 maven-clearn-plugin:clean post-clean 清理后完成的工作 maven-clearn-plugin:clean

site生命周期与插件目标的绑定关系

生命周期阶段 描述 插件目标 pre-site 执行生成项目站点之前的工作 maven-site-plugin:site site 生成项目站点文档 maven-site-plugin:site post-site 执行生成项目站点之后的工作 maven-site-plugin:site site-deploy 将生成的项目站点发布在服务器 maven-site-plugin:deploy

default生命周期与插件目标的绑定关系

生命周期阶段 描述 插件目标 process-sources 复制主资源文件至输入目录 maven-resources-plugin:resources compile 复制主代码文件至输入目录 maven-compile-plugin:compile process-test-sources 复制测试资源文件至输入目录 maven-resources-plugin:testResources test-compile 复制测试代码文件至输入目录 maven-compile-plugin:test test 执行测试用例 maven-surefire-plugin:test package 创建项目jar maven-jar-plugin:jar install 将项目输出构件安装至本地仓库 maven-install-plugin:install deploy 将项目输出构件部署至远程仓库 maven-deploy-plugin:deploy
0 0