zoukankan      html  css  js  c++  java
  • 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 的控制台看到操作步骤或查看日志文件

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/zhiyin1209/p/12628531.html
Copyright © 2011-2022 走看看