zoukankan      html  css  js  c++  java
  • Maven build lifecycle

    Clean Lifecycle

    运行mvn clean执行clean生命周期,包含三个生命周期阶段:

    • pre-clean
    • clean
    • post-clean

    clean:clean会删除一次构建后的输出,默认删除_${basedir}/target/_目录(如果你没有自定义输出目录)。

    执行clean阶段的时候,maven可以执行任何绑定到pre-clean阶段的_goal_(目标)。

    例如:你想在pre-clean阶段时触发antrun:run_goal_来输出一个通知,或者想在构陷目录删除时,打包一下。

    **Triggering a Goal on pre-clean. **

    <project>
        ...
        <build>
            <plugins>... <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>file-exists</id>
                            <phase>pre-clean</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                            <configuration>
                                <tasks>
                                 <echo>hello world</echo>                                 
                                </tasks>
                            </configuration>
                        </execution>
                    </executions>
                    </plugin>
            </plugins>
        </build>
    </project>
    

    我们还可以自定义clean插件的删除目录(即除了默认的目录,再删除别的目录)。可以配置fileSet配置项,该配置支持ant的通配符。

    **Customizing Behavior of the Clean Plugin. **

     <build>
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <configuration>
                        <filesets>
                            <fileset>
                                <directory>target-other</directory>
                                <includes>
                                    <include>*.class</include>
                                </includes>
                            </fileset>
                        </filesets>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    

    Default Lifecycle

    maven的默认生命周期,有如下阶段:

    Lifecycle Phase Description
    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等
    pre-integration-test 集成测试准备
    integration-test 集成测试
    post-integration-test 集成测试后的工作
    verify 检查验证生成的java包
    install 安装到本地仓库
    deploy 部署到目标地址

    Site Lifecycle

    暂时用不到,不整理

  • 相关阅读:
    [Spark]Spark-streaming通过Receiver方式实时消费Kafka流程(Yarn-cluster)
    [git]将代码上传到github
    [Scala]Scala安装以及在IDEA中配置Scala
    [tesseract-ocr]OCR图像识别Ubuntu下环境包安装
    [Spark]Spark-sql与hive连接配置
    [py2neo]Ubuntu14 安装py2neo失败问题解决
    [wcp部署]Linux(Ubuntu)安装部署WCP
    Office 365入门教程(一):开始使用Office 365
    微软Power BI入门教程(一):认识Power BI
    电脑病毒猛于虎,但这些坏习惯猛于病毒
  • 原文地址:https://www.cnblogs.com/xiaojintao/p/5998722.html
Copyright © 2011-2022 走看看