【Maven】生命周期

简介: 【Maven】生命周期

1. Maven 构建生命周期



Maven 构建生命周期就是 Maven 将一个整体任务划分为一个个的阶段,类似于流程图,按顺序依次执行。也可以指定该任务执行到中间的某个阶段结束。

      1)Maven 的内部有三个构建生命周期,分别是 clean, default, site。其中 default 生命周期的核心阶段如下所示:

20180722212954640.png

 2)clean生命周期


    • pre-clean

    • clean

    • post-clean

    Maven 的 clean 目标(clean:clean)绑定到了 clean 生命周期的 clean 阶段。它的 clean:clean 目标通过删除构建目录删除了构建输出。所以当 mvn clean 命令执行时,Maven 删除了构建目录。


2、如何使用构建生命周期来完成构建工作



1)可以指定某个生命周期的阶段

      执行 mvn install 命令,将完成 validate, compile, test, package, verify, install 阶段,并将 package 生成的包发布到本地仓库中。其中某些带有连字符的阶段不能通过 shell 命令单独指定。例如:(pre-, post-, or process-*)

       mvn install


 2)可以指定多个不同构建生命周期的阶段

      执行 mvn clean deploy 命令,首先完成的 clean lifecycle,将以前构建的文件清理,然后再执行 default lifecycle 的 validate, compile, test, package, verify, insstall,deploy 阶段,将 package 阶段创建的包发布到远程仓库中。


        mvn clean deploy


3. 阶段与插件的关系


 如上所述,Maven 将构建过程定义为 default lifecycle,并将 default lifecycle 划分为一个个的阶段 phase,这一系列 phase 仅仅是规定执行顺序,至于每个阶段做什么工作?由谁来做?答案就在 插件(plugins) 中。


    Maven 对工程的所有操作实实在在的都是由 插件 来完成的。一个插件可以支持多种功能,称之为目标(goal),例如:compiler 插件有两个目标:compile 和 testCompile,分别实现编译源代码 和 编译测试代码。


      如何将插件与 Maven 的构建生命周期绑定在一起呢?通过将插件的目标(goal)与 build lifecycle 中 phase 绑定到一起,这样,当要执行某个 phase 时,就调用插件来完成绑定的目标。每一个阶段可以绑定0 个 或 多个目标,每个插件可以提供 1 个或多个目标。


        build lifecycle & plugin goal


       一些高级功能命令:


       跳过测试类 : -Dmaven.test.skip=true


      下载jar包源码: -DdownloadSource=true


      下载javadocs: -DdownloadJavadocs=true


       例如:


        mvn package -Dmaven.test.skip=true :表示打包时忽略掉test目录,不编译。


        mvn install -DdownloadSource=true :本地安装jar包时,下载jar的源文件包。


相关文章
|
1天前
|
Java 测试技术 Maven
Maven 有三个标准的生命周期
Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,用于项目构建与发布。它有三个标准生命周期:Clean(清除目标目录)、Default(编译、测试、打包、验证、安装和部署)和Site(生成项目文档和站点)。每个阶段由插件目标组成,如clean、package和dependency:copy-dependencies。执行时,命令按照阶段和目标的顺序操作,如`mvn clean dependency:copy-dependencies package`会依次执行清理、复制依赖和打包。
|
2天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,用于项目构建与发布。标准生命周期有清洁、默认和站点三个阶段。清洁周期清除编译输出,默认周期涵盖验证、编译、测试、打包、验证质量、安装到本地仓库及部署到远程仓库。站点周期则生成并部署项目文档。
|
3天前
|
Java 测试技术 项目管理
Maven 构建生命周期
Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,用于项目构建与发布。它有三个标准生命周期:Clean(如clean目标,清除编译输出),Default(验证、编译、测试、打包、验证质量、安装到本地仓库、部署到远程仓库)和Site(生成项目文档和站点,然后部署到远程服务器)。每个生命周期阶段按顺序执行,确保项目管理的标准化和自动化。
|
15天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,用于项目构建与发布。它有三个标准生命周期:Clean(清除目标目录)、Default(验证、编译、测试、打包、验证质量、安装和部署)和Site(生成项目文档和站点)。每个阶段由插件目标组成,如clean、package和dependency:copy-dependencies,这些目标可以绑定到特定阶段或独立执行。命令行中,阶段和目标的执行顺序按照出现的顺序进行。
|
27天前
|
XML Java 测试技术
Maven特点、作用、生命周期
Maven是一个项目管理工具,主要用于Java项目的管理。它提供了项目对象模型(POM),一个用于描述项目的基础、源代码、构建配置、依赖关系等信息的XML文件,使得开发人员能够使用统一的方式来构建和管理项目。
20 1
|
5月前
|
XML Java 程序员
深入探讨Maven构建生命周期及插件机制
深入探讨Maven构建生命周期及插件机制
53 0
|
5月前
|
Java Maven
Maven 生命周期clean default size含义
Maven 生命周期clean default size含义
|
5月前
|
存储 Java 应用服务中间件
Maven - 依赖作用域与生命周期
Maven - 依赖作用域与生命周期
57 0
|
7月前
|
Java Maven
05Maven - Maven生命周期
05Maven - Maven生命周期
20 0
|
9月前
|
Java 测试技术 Maven
Maven 生命周期
Maven 生命周期
63 0