IDEA中Maven项目的生命周期操作说明

目录

  • clean-清理操作

    • 变化
    • 结论
  • compile-编译操作
    • 变化
    • 结论
  • package-打包操作
    • 变化
    • 结论
  • install-安装操作
    • 变化
    • 结论
  • deploy-部署操作

IDEA中对Maven项目做了相当好的支持,专门有个Maven的模块用于进行项目的操作:

上图红框中的内容即开发者经常使用的操作,将英文简单翻译过来,其中文分别为Lifecycle(生命周期)、clean(清理)、validate(验证)、compile(编译)、test(测试)、package(打包)、verify(核实)、install(安装)、site(设置)、deploy(部署)

根据Maven的生命周期来说,以上的操作中:一个操作必然包含了其前面所有的步骤,换句话说,只有完成了前面的所有步骤,才能执行该操作

看起来比较多,但是对于日常的开发来说,常用操作不过二三,针对几个常用的操作进行测试及说明:

以下分别从IDEA中对Maven项目进行的生命周期操作来观察项目路径下(编译的target文件夹生成在项目路径下,与src目录同级),maven本地仓库中的变化来得出结论

项目路径:

本地仓库:

clean-清理操作

变化

项目路径下的 target 目录已删除,本地仓库中如果存在之前已安装的该项目包,不会删除

结论

清理掉项目路径下的 target 目录(如果有的话)

compile-编译操作

变化

在项目路径下生成了 target 目录

结论

在项目路径下生成 target 目录,但目录中不包含生成的 jar 包或其他类型包

经测试,compile 操作之前不会先进行 clean 操作,通俗的说:compile 前,target 目录已存在,compile 后,target 目录中的文件不变或增加,但是不会少。

比如:compile 前 target 目录已存在且 classes 目录下存在 logs 日志文件目录,本次 compile 前修改 pom.xml 中的配置,在标签中的标签中排除 logs 目录,但是仅执行 compile 操作后,查看 target 目录还是可以看到之前的 logs 目录,可见并未进行 clean 操作。再测试执行 clean 后再执行 compile,就没有 logs 目录了

package-打包操作

变化

在项目路径下生成了 target 目录

结论

在项目路径下生成 target 目录,目录中包含生成的 jar 包或其他类型包

install-安装操作

变化

在 package 操作基础上,执行 install 后,该项目被部署到了本地仓库中

结论

install操作,将jar包或其他类型包安装到本地仓库中,可供本地其他项目进行引用依赖

deploy-部署操作

在 install 操作的基础上,将项目生成的 jar 包或其他类型包部署到私服仓库中

因未部署私服仓库,所以暂未经过测试

  • clean 操作与其他生命周期不存在先后关系,生命周期的操作进行前都不会进行 clean 操作
  • 推荐 package,install 操作前先进行 clean 操作,或在 Execute Maven Goal 框中输入:mvn clean install,也是先清理后安装的操作
  • maven 项目进行的生命周期的操作,都可以在 IDE 的控制台看到操作步骤或查看日志文件

原文地址:https://www.cnblogs.com/zhiyin1209/p/12628531.html

时间: 2024-11-08 00:09:30

IDEA中Maven项目的生命周期操作说明的相关文章

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

项目生命周期 清理 初始化 编译 测试 打包 部署 三套生命周期 1.clean pre-clean 执行一些需要在clean之前完成的工作 clean 移除所有上一次构建生成的文件 post-clean 执行一些需要在clean之后立刻完成的工作 2.compile validate generate-sources process-sources generate-resources process-resources 复制并处理资源文件,至目标目录,准备打包. compile 编译项目的源

【maven详解-生命周期】Maven的生命周期和插件

maven的生命周期是根据我们项目中常见的流程来定义的:清理.编译.测试.打包.集成测试.验证.部署等功能.maven的每个生命周期对应不同的阶段,每个阶段都对应不同的插件. maven定义了三套生命周期:clean.default.site.每个生命周期都包含了一些阶段(phase),三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase.执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase. 1

Maven的构建生命周期理解

以下引用官方的生命周期解释https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html: 一.构建生命周期基础: Maven基于构建生命周期的中心概念.这意味着构建和分发特定工件(项目)的过程被明确定义. 对于构建项目的人员,这意味着只需要学习一小堆命令即可构建任何Maven项目,POM将确保他们获得所需的结果. 有三个内置的生命周期:默认(default),清洁(clean)和站点(site).在

Maven专题3——生命周期与插件

三套生命周期 Maven有3套相互独立的生命周期,用户可以调用某个生命周期的阶段,而不会对其他生命周期产生影响. 每个生命周期包含一些有先后顺序的阶段,后面的阶段依赖于前面的阶段,意味着用户调用后面的生命周期阶段时,同一生命周期中前面的阶段也将被执行. clean生命周期 pre-clean clean post-clean default生命周期 validate initialize generate-sources process-sources generate-resources pr

Maven的三大生命周期

一.Maven的三大生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有的构建步骤. Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于设计模式中的模板方法. 二.三套生命周期 Maven由三套相互独立的生命周期,分别是clean.default和site.每个生命周期包括一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段. 1.clean生命周期

巧克力项目之生命周期模型的选择

3月8日会议记录       会议记录者:李宁 今天,我们小组就老师布置的关于巧克力项目的生命周期模型进行了讨论.我们的讨论根据的是书上关于各种生命周期模型对比的表格,上面列举的每一种方法都讨论了是否符合我们小组的开发,进过筛选最终选定了迭代--递增生命周期模型.选择迭代--递增模型的原因是:迭代--递增模型更接近于现实中的开发模型,可以在每一个版本的基础上,继续升级跟新,符合我们开发的原则,同时适用于我们小组的开发水平.至于其他模型没有选择的原因,下面将一一列举.编码--修补模型和瀑布模型,是

Maven整理笔记の生命周期和插件

项目构建的生命周期,其实软件开发人员每天都在干这个事,即项目清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等,可以说几乎所有项目的构建都可以映射到这样一个生命周期上. Maven的插件机制是完全依赖Maven的生命周期的. 三套生命周期 Maven的生命周期并不是一个整体,Maven拥有三套独立的生命周期,它们分别是clean\default\site.Clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site的生命周期的目的是建立项目站点. 每个生命

项目的生命周期

概述 项目的生命周期描述了项目从开始到结束所经历的各个阶段,最一般的划分是将项目分为 "识别需求.提出解决方案.执行项目.结束项目"四个阶段.实际工作中根据不同领域或不同方法再进行具体的划分.例如,按照软件开发项目划分为需求分析.系统设计.系统开发.系统测试.运行维护几个阶段,而在建筑业中一般将项目分成立项决策.计划和设计.建设.移交和运行等阶段. 项目生命周期的划分 对于IT服务项目来说,从厂商看项目是从接到合同开始,到完成规定工作结束,但如果从客户角度看,项目是从确认有需求开始,到

struts2.0中Action的对象生命周期详解!!(转)

原文出处:http://blog.csdn.net/wxy_g/article/details/2071662 有很多人问Struts2.0中的对象既然都是线程安全的,都不是单例模式,那么它究竟何时创建,何时销毁呢? 这个和struts2.0中的配置有关,我们来看struts.properties ### if specified, the default object factory can be overridden here ### Note: short-hand notation is