码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-04-03 19:59:30      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:日常   编译   目的   修改   操作说明   排除   validate   exclude   支持   

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

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

标签:日常   编译   目的   修改   操作说明   排除   validate   exclude   支持   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!