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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • u013264993
    u013264993 2018-06-14 11:43
    已采纳

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

    点赞 6 评论
  • u013456796
    vincentwsh1984 2018-06-14 10:40

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

    点赞 评论
  • qq_34927843
    不宅 2018-06-14 11:45

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

    点赞 评论
  • LEEVEUBW
    LEEVEUBW 2018-06-14 11:47

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

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

    点赞 评论
  • csp732171109
    奔跑在路上的少年 2018-06-14 13:32

    clean清理缓存,install上传jar包

    点赞 评论
  • ZZZZ_zzzz_
    ZZZZ_zzzz_ 2018-06-15 02:12

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

    点赞 评论
  • qq_24357131
    MrGarvey 2018-06-18 09:29

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

    点赞 评论

相关推荐