点滴记录,是前进的脚步 2018-06-14 10:31 采纳率: 25%
浏览 10885
已采纳

为什么maven命令一般只用clean和install?

项目中的maven命令如下:
mvn clean -U install -Dmaven.test.skip=true -DskipTests
为什么只有clean(清除target)和install(放到本地仓库供其他模块使用),没有complie和package。同事说install包含了编译和打包,是这样吗?是的话为什么没有包含clean只包含了compile和package呢

  • 写回答

7条回答 默认 最新

  • u013264993 2018-06-14 11:43
    关注

    因为maven的有3套生命周期clean,default,site。他们是相互独立的,执行了clean就是你所说的删除target包中的东西。而install是属于default声明周期的阶段,
    compile也是属于default声明周期的,一般来说一个生命周期中的各个阶段是顺序执行的,所以执行install的时候会包含compile。另外可以看一下maven实战
    很不错的一本书。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • vincentwsh1984 2018-06-14 10:40
    关注

    因为clean多数用在清理缓存,而install用于将自己的jar包上传到私库中。

    评论
  • 不宅 2018-06-14 11:45
    关注

    clean 删除target中的字节码文件和测试报告的文件, compile是变异 package是打包 打包之后是.jar的文件 install是把打包好的文件安装到本地仓库中,你要安装肯定需要先清理 ,然后重新编译再打包,才能安装,所以你同事说的是对的

    评论
  • LEEVEUBW 2018-06-14 11:47
    关注

    Maven有三种标准的生命周期:clean、build、site。
    clean和install分开是因为不在一个生命周期。

    Maven的“构建”生命周期阶段很多。常见的有validate、compile、test、package、install……
    分阶段运行,执行了package,前面的validate、compile等所有阶段也会执行;执行install时同理。

    评论
  • Strive_MY 2018-06-14 13:32
    关注

    clean清理缓存,install上传jar包

    评论
  • ZZZZ_zzzz_ 2018-06-15 02:12
    关注

    可以理解为clean是清除你之前编译的那些文件,install是编译你现在更改过的文件,或者是重新编译

    评论
  • MrGarvey 2018-06-18 09:29
    关注

    clean清除编译数据,install重新编译。就像开机和关机一样

    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 Tpad api账户 api口令
  • ¥30 ppt进度条制作,vba语言
  • ¥15 stc12c5a60s2单片机测光敏ADC
  • ¥15 生信simpleaffy包下载
  • ¥15 请教一下simulink中S函数相关问题
  • ¥15 在二层网络中,掩码存在包含关系即可通信
  • ¥15 端口转发器解析失败不知道电脑设置了啥
  • ¥15 Latex算法流程图行号自定义
  • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
  • ¥40 基于51单片机实现球赛计分器功能