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

Posted 知音12138

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA中Maven项目的生命周期操作说明相关的知识,希望对你有一定的参考价值。

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

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

根据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 的控制台看到操作步骤或查看日志文件

以上是关于IDEA中Maven项目的生命周期操作说明的主要内容,如果未能解决你的问题,请参考以下文章

IDEA-Maven Projects中9种生命周期认识

IDEA配置Maven+Tomcat构建Web项目

idea lifecycle生命周期

修改IDEA自带的 maven 仓库

maven基础知识以及idea配置maven

Maven 基本使用及依赖管理。