maven

maven

1. 构建声明周期

Maven中有三种标准的生命周期:

  • 清理(clean):
  • 默认或者构建(default):
  • 站点(site):
    1.1 清理声明周期(clean)
    运行mvn clean将调用清理声明周期, 它包含了三个生命周期阶段:
  • pre-clean
  • clean
  • post-clean
    1.2 默认生命周期(default)
    它是一个软件应用程序构建过程的总体模型, 它包括以下阶段:
  • validate : 验证项目是否正确, 以及所有为了完整构建必要的信息是否可用.
  • 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
  • test : 运行单元测试代码, 这些代码不应该被打包或者发布.
  • prepare-package
  • package : 将编译好的代码打包成可分发的格式, 如JAR、WAR、EAR.
  • pre-integration-test
  • integration-test
  • post-integration-test
  • verify : 执行所有检查, 验证包是否符合质量规范.
  • install : 安装package到本地仓库, 以备本地的其他项目作为依赖使用.
  • deploy : 复制最终包到远程仓库, 共享给其他开发人员和项目.
    1.3 站点声明周期(site)
    项目文档和站点生成有一个专门的声明周期mvn site, 它包含了四个阶段:
  • pre-site
  • site
  • post-site
  • site-deploy
    1.4 打包相关声明周期
    绑定到每个阶段的特定目标默认根据项目的打包类型设置.常见打包类型有:
  • JAR : Java Archive
  • WAR : Web Archive
  • pom : 最简单的打包类型, 它生成的构建只是它本身, 没有代码需要测试或者编译, 也没有资源需要处理.
  • SAR
  • EAR : Enterprise Archive
  • EJB
  • NAR
  • SWF
  • SWC

  • 为了使用自定义的打包类型, 你需要两样东西: 1. 一个定义了定制打包类型生命周期的插件; 2. 一个包含改插件的仓库.