首页 > 代码库 > 项目构建之maven篇:6.生命周期与插件

项目构建之maven篇:6.生命周期与插件

项目生命周期


清理

初始化

编译

测试

打包

部署


三套生命周期


1、clean
   pre-clean  执行一些需要在clean之前完成的工作
   clean  移除所有上一次构建生成的文件
   post-clean  执行一些需要在clean之后立刻完成的工作
2、compile
  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     编译测试源代码。
  process-test-classes
  test     使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
  prepare-package
  package     接受编译好的代码,打包成可发布的格式,如 JAR 。
  pre-integration-test
  integration-test
  post-integration-test
  verify
  install     将包安装至本地仓库,以让其它项目依赖。
  deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。 
3、site
  pre-site     执行一些需要在生成站点文档之前完成的工作
  site    生成项目的站点文档
  post-site     执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
  site-deploy     将生成的站点文档部署到特定的服务器上


命令行与生命周期


mvn clean:调用clean生命周期的clean阶段
mvn test:调用default生命周期的test阶段
mvn clean install:调用clean生命周期的clean阶段和调用default生命周期的install阶段
mvn clean deploy:调用clean生命周期的clean阶段和调用default生命周期的deploy阶段


插件目标


maven核心仅仅定义了抽象的生命周期,具体任务由插件来完成

插件由多个目标来组成



内置插件绑定







自定义绑定


<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <!--指定在哪个阶段后执行目标-->
   <phase>test</phase>
            <goals>
   <!--执行的目标-->
              <goal>tree</goal>
            </goals>           
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>


命令行插件配置


  mvn install -Dmaven.test.skip=true

参数 -D 是java自带的,通过命令行设置一个java系统属性