标签:日常 编译 目的 修改 操作说明 排除 validate exclude 支持
IDEA中对Maven项目做了相当好的支持,专门有个Maven的模块用于进行项目的操作:
上图红框中的内容即开发者经常使用的操作,将英文简单翻译过来,其中文分别为Lifecycle(生命周期)、clean(清理)、validate(验证)、compile(编译)、test(测试)、package(打包)、verify(核实)、install(安装)、site(设置)、deploy(部署)
根据Maven的生命周期来说,以上的操作中:一个操作必然包含了其前面所有的步骤,换句话说,只有完成了前面的所有步骤,才能执行该操作
看起来比较多,但是对于日常的开发来说,常用操作不过二三,针对几个常用的操作进行测试及说明:
以下分别从IDEA中对Maven项目进行的生命周期操作来观察项目路径下(编译的target文件夹生成在项目路径下,与src目录同级),maven本地仓库中的变化来得出结论
项目路径:
本地仓库:
项目路径下的 target
目录已删除,本地仓库中如果存在之前已安装的该项目包,不会删除
清理掉项目路径下的 target
目录(如果有的话)
在项目路径下生成了 target
目录
在项目路径下生成 target
目录,但目录中不包含生成的 jar 包或其他类型包
经测试,compile 操作之前不会先进行 clean 操作,通俗的说:compile 前,target 目录已存在,compile 后,target 目录中的文件不变或增加,但是不会少。
比如:compile 前 target 目录已存在且 classes 目录下存在 logs 日志文件目录,本次 compile 前修改 pom.xml 中的配置,在
标签中的 标签中排除 logs 目录,但是仅执行 compile 操作后,查看 target 目录还是可以看到之前的 logs 目录,可见并未进行 clean 操作。再测试执行 clean 后再执行 compile,就没有 logs 目录了
在项目路径下生成了 target
目录
在项目路径下生成 target
目录,目录中包含生成的 jar 包或其他类型包
在 package 操作基础上,执行 install 后,该项目被部署到了本地仓库中
install操作,将jar包或其他类型包安装到本地仓库中,可供本地其他项目进行引用依赖
在 install 操作的基础上,将项目生成的 jar 包或其他类型包部署到私服仓库中
因未部署私服仓库,所以暂未经过测试
clean 操作与其他生命周期不存在先后关系,生命周期的操作进行前都不会进行 clean 操作
推荐 package,install 操作前先进行 clean 操作,或在 Execute Maven Goal 框中输入:mvn clean install,也是先清理后安装的操作
maven 项目进行的生命周期的操作,都可以在 IDE 的控制台看到操作步骤或查看日志文件
标签:日常 编译 目的 修改 操作说明 排除 validate exclude 支持
原文地址:https://www.cnblogs.com/zhiyin1209/p/12628531.html